React.js中全局变量声明的最佳实践是什么?

时间:2017-09-14 07:33:24

标签: reactjs

我是React.js的新手,目前正在使用React.js的项目,该项目需要对后端服务器进行api调用。

我可以知道在react.js项目中声明全局变量的最佳方法是什么。

非常感谢您的善意指导! 感谢。

2 个答案:

答案 0 :(得分:0)

如果你没有必要,那么没有好的做法使用全局变量。我的建议是,当你不使用它时,使用像Redux这样的状态机要好得多。并将所有对象存储到状态。

或者如果你需要全局变量,那么与普通的js项目没有区别。

在html中你可以像我在Index.cshtml中那样定义全局变量到init redux state:

 <script>
        var initialReduxState = @Html.Raw(JsonConvert.SerializeObject(Model));
 </script>

或者当我必须在我的中间件中使用第三方脚本时,我正在初始化全局变量,如:

var freshDeskobj= new fresDesk();
window["freshDesk"] = freshDeskobj; 

比我能用它

window["freshDesk"].someMethod();

但首先检查存在是否好。

如果在创建全局变量时需要小心,并且还必须处理它,那么创建组件和使用生命周期钩子是很好的方法。只需创建组件。将它放在布局中的某个位置(确保该组件存在一个)。在组件中,您可以使用生命周期方法componentWillMount()在其中创建全局变量,并在componentWillUnmount()中可以处置资源。在render方法中,只返回null。

答案 1 :(得分:0)

我使用一个简单的解决方案进行管理,该解决方案在index.html中声明变量。谢谢!