无法在React中访问窗口变量

时间:2018-08-12 07:32:38

标签: javascript reactjs redux

我正在使用React Redux应用程序。我的React应用程序的基本模板类似于

 <div id="react"></div>
 <script type="text/javascript" src="/static/bundles/main-hash.js" ></script>
 <script>
   window.userData = {a: 1, b:2}
 </script>

我想在我的应用程序中使用变量userDatawindow.userData在几乎所有位置(组件的reducer,componentDidMount等)都返回undefined。但是,如果我记录窗口对象,则可以在控制台中看到其中有一个userData变量。

总结一下,console.log(window, window.userData)返回-

Window undefined,其中Window是折叠树。取消折叠,可以在其中看到userData变量。

2 个答案:

答案 0 :(得分:0)

尝试

 <div id="react"></div>
 <script>window.userData = {a: 1, b:2}</script>
 <script type="text/javascript" src="/static/bundles/main-hash.js" ></script>

答案 1 :(得分:-1)

请在您的React组件脚本标签之前移动您的脚本标签。应该可以。

我的意思是,您应该在使用Windows对象之前先创建userData成员。