Gatsby状态仅在开发时更新,而在构建(生产)时不更新

时间:2020-01-08 17:34:52

标签: javascript reactjs gatsby

我在Gatsby中使用React上下文,并且生产版本中的状态更改有问题。我的上下文正在变化React不会自动更新。

我认为我的问题与以下问题有关:Unable to update JSX attribute based on URL parameter in a Gatsby app running in production

但是,我没有收到任何不匹配错误。

在开发模式下效果很好,为什么在生产环境中不起作用?

1 个答案:

答案 0 :(得分:1)

这解决了我的问题: https://github.com/gatsbyjs/gatsby/issues/17914

两遍渲染

class Layout extends React.Component {
  constructor(props) {
    super(props)
    this.state = { isClient: false }
  }
  render() {
    // can be `div` or anything else, I tried to keep this generic
    return <React.Fragment key={this.state.isClient}> 
      {/*...*/}
    </React.Fragment/>
  }
  componentDidMount() {
    this.setState({ isClient: true })
  }
}