通过根组件中的 React Context 传递 Redux 存储是不是正确?
Posted
技术标签:
【中文标题】通过根组件中的 React Context 传递 Redux 存储是不是正确?【英文标题】:Is it right way to pass Redux store via React Context in Root Component?通过根组件中的 React Context 传递 Redux 存储是否正确? 【发布时间】:2018-12-12 12:00:47 【问题描述】:我正在构建一个大型React
应用程序。实际上它是高级管理面板,我想使用Redux
处理应用程序的全局state
和Redux Saga
异步操作。
前几天在medium
看到一篇文章,讲的是新的React Context
API,非常棒又好用。
我还看到了一个有用的Stack Overflow
问题,关于使用React Context
,Here 是关于React Context
和React
,我的情况有些不同。
就我而言,我想使用Redux
来控制login
等应用程序的全局state
、全局数据等,并使用React Context
将这些数据传递给所有组件树,这是正确的方法吗?有没有更好的利用方式?
【问题讨论】:
【参考方案1】:react-redux
在内部使用context
将数据传递给组件。使用 redux,您可以使用 connect
并将数据提供给需要它的组件。没有必要为此使用上下文
例如你有一个管理组件,你可以像传递状态值给它
import connect from 'react-redux';
class Admin extends React.Component
...
const mapStateToProps = (state) =>
return
isLoggedIn: state.isLoggedIn
export default connect(mapStateToProps)(Admin);
你可以了解更多here
【讨论】:
以上是关于通过根组件中的 React Context 传递 Redux 存储是不是正确?的主要内容,如果未能解决你的问题,请参考以下文章
React Context API,从子组件设置上下文状态,而不是将函数作为道具传递
React中的connect使用(Provider+Consumer例子 以及 contextType+this.context例子)