Получить видовой экран / высоту окна в ReactJS
Как получить высоту области просмотра???
window.innerHeight()
но с помощью reactjs, я не уверен, как получить эту информацию. Я так понимаю, что
ReactDOM.findDomNode()
работает только для созданных компонентов. Однако это не относится к документ или тело элемент, который мог бы дать мне высоту окна.
4 ответа:
этот ответ похож на Jabran Saeed, за исключением того, что он также обрабатывает изменение размера окна. Я получил его от!--2-->здесь.
constructor(props) { super(props); this.state = { width: 0, height: 0 }; this.updateWindowDimensions = this.updateWindowDimensions.bind(this); } componentDidMount() { this.updateWindowDimensions(); window.addEventListener('resize', this.updateWindowDimensions); } componentWillUnmount() { window.removeEventListener('resize', this.updateWindowDimensions); } updateWindowDimensions() { this.setState({ width: window.innerWidth, height: window.innerHeight }); }
class AppComponent extends React.Component { constructor(props) { super(props); this.state = {height: props.height}; } componentWillMount(){ this.setState({height: window.innerHeight + 'px'}); } render() { // render your component... } }
установить реквизит
AppComponent.propTypes = { height:React.PropTypes.string }; AppComponent.defaultProps = { height:'500px' };
высота видового экрана теперь доступна как {this.государство.высота} в шаблоне рендеринга
Это то же самое в React, вы можете использовать
window.innerHeight
для получения высоты текущего видового экрана.Как видите,здесь
вы также можете попробовать это:
constructor(props) { super(props); this.state = {height: props.height, width:props.width}; } componentWillMount(){ console.log("WINDOW : ",window); this.setState({height: window.innerHeight + 'px',width:window.innerWidth+'px'}); } render() { console.log("VIEW : ",this.state); }