我试图通过获取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 可能更好,但这里发生的事情仍然很有趣。
2 回答

ITMISS
TA贡献1871条经验 获得超8个赞
你写了:
const isTop = window.scrollY > 100,
const nav = document.getElementById('nav');
您需要将逗号替换为第 16 行末尾的 simicolon。这样:
const isTop = window.scrollY > 100;
const nav = document.getElementById('nav');
添加回答
举报
0/150
提交
取消