设定
使用Redux的React应用处理状态和动作。
大量服务-用户登录API,谷歌地图和一些第三方服务。
问题
当初始化是组件(componentDidMount)的一部分时,初始化会运行多次,在此过程中加载SDK脚本(我希望在应用中需要它们时可以准备好它们)。
首要问题
运行appInitialize()
函数的位置和时间,因此它将仅运行一次(仅在应用程序启动时)。
在哪里加载Google API脚本? (在使用它的组件中还是在App组件中?)
最佳做法,书籍和其他指南参考也可能会有所帮助。
最佳答案
之前,我有一个类似的问题,基本上,我想引导自己的应用程序。在index.js
内部,假设您的目标是渲染应用程序,则在此之前您可以做很多事情。 ReactDOM.render(Root, document.getElementById('root'));
例如
创建一个redux存储,并将其注入到此应用中(同步)
调用一个promise,然后在调用render(异步)之前解决它
这是一个javascript文件,您可以做任何您想做的事情,大多数时候您都可以将其视为洗衣清单。当您获得越来越多的东西时,您可能会想到一种更具模块化的方式(例如,react或redux只是模块之一)。
只是为了回答你的问题
在何处以及何时运行appInitialize()
函数,使其仅运行一次(仅在应用程序启动时)?在index.js
中,确保仅调用一次render。并确保您希望在此之前初始化所有其他事情。
在哪里加载Google API脚本? (在使用它的组件中还是在App组件中?)。所有第三方都可以位于index.html
或index.js
中,您只需拨打一次即可,然后将其留在此处。
关于javascript - 在哪里最好用Redux应用初始化React?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53815902/