组件DidMount,React中出现意外的关键字“const”

我试图通过获取DOM元素并使用conceptDidMount向其传递函数来制作粘性标头,但是得到一个错误,即“const”是一个意外的关键字:


元件:


class Header extends Component {


  componentDidMount(){

    window.addEventListener('scroll', () => {

      const isTop = window.scrollY > 100,

      const nav = document.getElementById('nav');

      if (isTop) {

        nav.classList.add('scrolled');

      }else {

        nav.classList.add('scrolled');

      }

    });

  }


  componentWillUnmount() {

    window.removeEventListener('scroll');

  }



  render() {

    return (<>

      <header>

        <nav class="nav" id="nav">

          <ul class="header-list">

            <li>

              <img alt='phone' src={phonelogo} />

            </li>

            <li>123456789</li>

          </ul>

          <ul class="header-list">

            <li>

              <img alt='email' src={email} />

            </li>

            <li>123@gmail.com</li>

          </ul>

        </nav>

      </header>

    </>)

  };

};



export default Header;

错误:


Line 17:7:  Parsing error: Unexpected keyword 'const'


  15 |     window.addEventListener('scroll', () => {

  16 |       const isTop = window.scrollY > 100,

> 17 |       const nav = document.getElementById('nav');

     |       ^

  18 |       if (isTop) {

  19 |         nav.classList.add('scrolled');

  20 |       }else {

虽然,使用 React refs 可能更好,但这里发生的事情仍然很有趣。


慕尼黑5688855
浏览 230回答 2
2回答

ITMISS

你写了:&nbsp;const isTop = window.scrollY > 100,&nbsp;const nav = document.getElementById('nav');您需要将逗号替换为第 16 行末尾的 simicolon。这样:&nbsp;const isTop = window.scrollY > 100;&nbsp;const nav = document.getElementById('nav');

慕盖茨4494581

第16行。您必须删除逗号,否则将第 17 行的 const 重新排列
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript