我想知道window传入反应组件的对象是否是合成的.
如果不是我假设我需要以下代码来确定视口的宽度和高度
const w = window,
d = document,
documentElement = d.documentElement,
body = d.getElementsByTagName('body')[0],
width = w.innerWidth || documentElement.clientWidth || body.clientWidth,
height = w.innerHeight || documentElement.clientHeight || body.clientHeight
Run Code Online (Sandbox Code Playgroud)
Rap*_*nah 14
该window对象是普通的DOM对象.
问题是它仅在组件安装后才可用.
__PRE__
https://facebook.github.io/react/docs/react-component.html#componentdidmount
更新:
如果DOM在React之前加载,则该window对象可用window.只要您没有在文档中加载React window,我认为它可以正常使用window.
因为添加不安全的这个
,你应该使用window,而不是在未来的版本...
注意:即将呈现的实际组件将不存在,但window可能存在.
在 React 中访问 window 对象与其他地方一样。它存在于任何 JavaScript 运行之前。作为测试,在地址栏中输入 about:blank,打开控制台并输入“window”。即使页面上没有其他 JavaScript,它也存在。