我真的很好奇连接功能如何找出我的州居住的地方?它与combineReducer的功能有什么联系吗?是从它获得返回的值吗?
答案 0 :(得分:1)
React-Redux的connect()
函数依赖于<Provider>
组件将Redux存储放入React的context
功能,以便任何组件都可以访问它嵌套在<Provider>
。
我建议您阅读帖子Build Yourself a Redux,该帖子涵盖了Redux工作方式的许多方面,包括<Provider>
和connect()
。
答案 1 :(得分:0)
在React中,组件可以使用props
或context
进行插入。
您可以将上下文视为一种全局道具 - 一旦在提供程序类中定义了上下文,就可以在树下的任何位置访问它。 More on context
react-redux做的是:它为你提供了<Provider>
组件,它需要显式传递商店。
<Provider store={store}>
<App ... />
</Provider>,
它负责创建上下文并设置对redux store的引用。
另一方面,connect
函数为higher order component。它包装您的组件并使其可以访问提供者的上下文。您可以轻松使用商店而不使用connect
,如下所示:
static contextTypes = {
store: PropTypes.object,
};
render() {
const { store } = this.context;
console.log(store);
总结: