Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs React.js中全局变量声明的最佳实践是什么?_Reactjs - Fatal编程技术网

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

Reactjs React.js中全局变量声明的最佳实践是什么?,reactjs,Reactjs,我是React.js新手,目前正在一个使用React.js的项目中,该项目需要对后端服务器进行api调用 我想知道在react.js项目中声明全局变量的最佳方法是什么 非常感谢您的指导! 谢谢。您好,如果您不必使用全局变量,则没有良好的实践。我的建议是,当你不需要使用它时,最好使用一些状态机,比如Redux。并将所有对象存储到状态 或者,若你们需要全局变量,那个么和普通的js项目并没有区别 在html中,您可以像我在Index.cshtml中一样定义全局变量以初始化redux状态: <s

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

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

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

您好,如果您不必使用全局变量,则没有良好的实践。我的建议是,当你不需要使用它时,最好使用一些状态机,比如Redux。并将所有对象存储到状态

或者,若你们需要全局变量,那个么和普通的js项目并没有区别

在html中,您可以像我在Index.cshtml中一样定义全局变量以初始化redux状态:

 <script>
        var initialReduxState = @Html.Raw(JsonConvert.SerializeObject(Model));
 </script>
我不能把它当作

window["freshDesk"].someMethod();
但最好先检查是否存在


当您需要注意全局变量的创建和处理时,创建组件和使用生命周期挂钩是一种很好的方法。只需创建组件。将其放置在布局中的某个位置(确保此组件存在)。在component中,您可以使用生命周期方法componentWillMount()在其中创建全局变量,在componentWillUnmount()中,您可以配置资源。在render方法中,只返回null

我使用了一个简单的解决方案,即在index.html中声明变量。谢谢

您是否正在使用Redux进行状态管理?尚未使用Redux。
window["freshDesk"].someMethod();