javascript - 全局状态在纯反应状态托管应用程序中的性能影响
问题描述
我正在使用 React Hooks 进行状态管理,快速概览:
我正在使用useContext
钩子将应用程序状态分配给内部组件。这些上下文提供了一个对象,例如:{ state, dispatch }
从useReducer
钩子返回。
const [ state, dispatch ] = useReducer({...}, initialState);
return (
<MyContext.Provider value={{state, dispatch}}>
{children}
</MyContext.Provider>
);
然后内部组件可以访问状态:
<MyContext>
<SomeComponent/>
</MyContext>
随着应用程序的增长,将会有多个像这样的上下文,所以我很想创建另一个名为Store
的组件,并将所有上下文放在那里,包装我的应用程序:
商店.jsx:
export const Store = ({children}) => (
<SomeContext>
<AnotherContext>
{children}
</AnotherContext>
</SomeContext>
)
应用·jsx:
<Store>
<App/>
</Store>
现在,实际的问题是:这种方法会导致不必要的重新渲染吗?从长远来看,它会对性能产生什么影响?
解决方案
推荐阅读
- flask - 在 Localhost 上使用 GUnicorn 服务 Flask 应用程序
- java - 在数据库更新调用之前查找旧数据和当前数据之间的差异
- java - 用java填充具有唯一随机数的二维数组
- arduino - Arduino USB 端口随机消失时如何恢复?
- c - 计算 C 中的单词、字符、换行符的数量
- codeigniter - 调用未定义的方法 My_model::remove_user() Codeigniter
- regex - 如何编写Antlr4语法规则来匹配文件路径?
- python - 以网格形式绘制精灵
- python-3.x - Lambda函数python错误不支持+的操作数类型:'NoneType'和'int'
- windows - 为什么更改主机文件中的主机名不会更改我的计算机名称?