У меня есть приложение реакции рендеринга на стороне сервера (потому что мне также нужен Facebook Seo).
Часть моего приложения должна получить window.innerWidth.
Я долго искал, большинство из них говорит, что вы не можете найти окно на стороне сервера, поэтому вам необходимо выполнить рендеринг на стороне клиента .
Я не уверен, как все работает, у меня есть componentdidmount, но у меня windowWidth навсегда 0.
После рендеринга сервера, наш bundle.js включится, и окно на стороне клиента будет работать правильно?Почему это все еще 0?
state = {
windowWidth: 0
}
handleResize(){
this.setState({windowWidth: window.innerWidth});
}
componentDidMount () {
window.addEventListener('resize', this.handleResize);
}
componentWillUnmount () {
window.removeEventListener('resize', this.handleResize);
}
render() {
return (<div>{this.state.windowWidth}</div>)
}