Redux的Connect功能如何确定我的状态在哪里?

时间:2017-11-07 16:38:21

标签: javascript reactjs redux flux

我真的很好奇连接功能如何找出我的州居住的地方?它与combineReducer的功能有什么联系吗?是从它获得返回的值吗?

2 个答案:

答案 0 :(得分:1)

React-Redux的connect()函数依赖于<Provider>组件将Redux存储放入React的context功能,以便任何组件都可以访问它嵌套在<Provider>

我建议您阅读帖子Build Yourself a Redux,该帖子涵盖了Redux工作方式的许多方面,包括<Provider>connect()

答案 1 :(得分:0)

在React中,组件可以使用propscontext进行插入。 您可以将上下文视为一种全局道具 - 一旦在提供程序类中定义了上下文,就可以在树下的任何位置访问它。 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);

总结:

enter image description here

相关问题