在React生命周期中,在哪里查看窗口的属性可用性?

时间:2016-11-14 20:50:09

标签: reactjs

我希望在我的某个React组件中获得有关Device Orientation API支持的信息。这就是为什么我希望在组件生命周期的某个地方有这样的东西(见下面的代码):

this.state = {
  isDeviceMotionSupported: 'ondevicemotion' in window,
}

我不确定我是否正确推理,但这就是我的想法:

  • constructorcomponentWillMount因为我使用服务器端渲染而无法成为一个好地方。
  • componentDidMount不会成为一个好地方,因为在此方法中设置状态会触发重新渲染。
  • componentWillReceivePropsshouldComponentUpdatecomponentWillUpdatecomponentDidUpdate不会成为一个好地方,因为它们会被多次调用,所以我们在那里检查一下我只需要做一次

哪个地方最好放这种检查?为什么?

0 个答案:

没有答案