Ich mache eine persönliche Website in Reaktion, und ich wollte ein paar Tricks mit dem Scrollen machen, aber Sie wissen, wie es geht, stecken auf Schritt eins. Alles, was ich in meiner Reaktion habe, istonScroll in reagiert nur auf das Fenster?
class App extends Component {
makeTextLarger(e) {
console.log(e)
console.log("scrolling")
}
componentDidMount() {
const list = ReactDOM.findDOMNode(this.refs.test)
console.log(list)
list.addEventListener('scroll', this.makeTextLarger);
}
componentWillUnmount() {
const list = ReactDOM.findDOMNode(this.refs.test)
list.removeEventListener('scroll', this.makeTextLarger);
}
render() {
var style = {
height: '10000px',
fontSize: 200,
background: 'blue'
};
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<h1 className="App-title"</h1>
</header>
<p className="App-intro">
text to be made bigger at some point
</p>
<div ref="test" style={style}>
Pls
</div>
</div>
);
}
}
In dem nichts feuert, als ich scroll. Wenn ich statt des spezifischen div stattdessen das use window anschaue, funktioniert es. Wenn ich die Liste console.log anmelde, gibt es tatsächlich ein HTML-Objekt zurück, daher bin ich mir nicht sicher, warum meine Bindung selektiv funktioniert. Irgendwelche Gedanken?