Я новичок в React.js. Я пытаюсь заставить левую навигацию придерживаться прокрутки. По какой-то причине приведенный ниже код вызывает следующую ошибку, когда я Свиток:React.js sticky nav не работает
Uncaught TypeError: this.setState не является функцией
Любая помощь будет здорово! благодаря
class Sticky extends React.Component {
constructor(props) {
super(props);
this.state = {
scrollingLock: false
};
}
componentDidMount(){
window.addEventListener('scroll', this.handleScroll);
}
componentWillUnmount() {
window.removeEventListener('scroll', this.handleScroll);
}
handleScroll() {
if (window.scrollY > 100) {
console.log("should lock");
this.setState({
scrollingLock: true
});
} else if (window.scrollY < 100) {
console.log("not locked");
this.setState({
scrollingLock: false
});
}
}
render() {
return (
<div style={{ width: "100%", position: this.state.scrollingLock ? "fixed" : "relative"}}>
{this.props.children}
</div>
)
}
}
export default Sticky;
Вы пытались связать метод _handleScroll_? –