你应该用 React Context Provider 包装你的整个应用程序吗?
Posted
技术标签:
【中文标题】你应该用 React Context Provider 包装你的整个应用程序吗?【英文标题】:Should you wrap your whole app with a React Context Provider? 【发布时间】:2019-11-11 17:19:32 【问题描述】:如果用户通过身份验证并通过React Context API 访问,我想保存一个简单的布尔+用户ID。
许多指南用上下文提供者包装了它们的根组件。对我来说,包装整个应用程序似乎很浪费。另一方面,我需要这些信息在我的所有主页中都可用。
使用 React Context Provider 包装整个应用程序是否有任何负面影响?
例子:
class App extends Component
render()
return (
<MyProvider>
<div className="App">
<h1 className="App-title">Welcome to my web store</h1>
<ProductList />
</div>
</MyProvider>
);
我使用this guide 作为参考。
我在 React Redux 方面没有任何经验,所以这对于以前使用过这个框架的每个人来说都是很自然的。
研究 Google 带来了许多关于如何实现 React Context 或使用 HOC 的指南,但我点击的 15 个没有回答我的问题。
【问题讨论】:
您可以将整个应用程序包装在提供程序中。 React-redux 推荐相同的 (react-redux.js.org/introduction/…),所以你可以认为它是可以接受的做法 如果您打算在整个应用程序中使用上下文,那么可以。 写是作为答案,所以我可以接受。 【参考方案1】:@Fyodor 在他的评论中指出:
您可以将整个应用程序包装在提供程序中。 React-redux 推荐相同的 (react-redux.js.org/introduction/...),所以你可能认为它是可以接受的 练习
【讨论】:
以上是关于你应该用 React Context Provider 包装你的整个应用程序吗?的主要内容,如果未能解决你的问题,请参考以下文章