我希望在我的某个React组件中获得有关Device Orientation API支持的信息。这就是为什么我希望在组件生命周期的某个地方有这样的东西(见下面的代码):
this.state = {
isDeviceMotionSupported: 'ondevicemotion' in window,
}
我不确定我是否正确推理,但这就是我的想法:
constructor
,componentWillMount
因为我使用服务器端渲染而无法成为一个好地方。 componentDidMount
不会成为一个好地方,因为在此方法中设置状态会触发重新渲染。componentWillReceiveProps
,shouldComponentUpdate
,componentWillUpdate
,componentDidUpdate
不会成为一个好地方,因为它们会被多次调用,所以我们在那里检查一下我只需要做一次哪个地方最好放这种检查?为什么?