Reactjs 在函数内部设置if语句的屏幕大小

Reactjs 在函数内部设置if语句的屏幕大小,reactjs,if-statement,media-queries,jsx,Reactjs,If Statement,Media Queries,Jsx,我想在这个函数中有一个if语句,它说“如果屏幕大小是x,那么就这样做”。我不确定是否有一个简单的方法来做到这一点,或者如果我必须做一些与css媒体查询时髦的东西,并称之为风格 toggleSidebarMobile () { let state = this.state // if state.sidebarOpened = !state.sidebarOpened this.setState(state); } 我希望该函数仅在移动设备上工作。您可以

我想在这个函数中有一个if语句,它说“如果屏幕大小是x,那么就这样做”。我不确定是否有一个简单的方法来做到这一点,或者如果我必须做一些与css媒体查询时髦的东西,并称之为风格

toggleSidebarMobile () {
    let state = this.state
    // if 
    state.sidebarOpened = !state.sidebarOpened
    this.setState(state);
    }

我希望该函数仅在移动设备上工作。

您可以将
window.innerWidth
设置为
componentDidMount()
中的状态,并将其作为道具传递到根组件中。之后,创建一个事件侦听器来侦听“resize”事件,并在大小更改时更新状态。 例如:

componentDidMount() {
  this.setState({
    windowWidth:window.innerWidth
  })

  window.addEventListener("resize", this.handleScreenResize, true);
}

handleScreenResize = () => {
 this.setState({
    windowWidth:window.innerWidth
 })
}

这是一个流行的节点模块,它可能会帮助您?你的想法是对的。您应该提供一个小代码片段,说明她的
componentDidMount
函数应该是什么样子的!:)