为多个组件创建一个redux容器

时间:2017-10-23 07:30:41

标签: reactjs redux

我正在创建一个ReactJS / Redux应用程序,其中一组类似的组件需要来自商店的相同状态和调度道具。我想为多个组件创建一个单独的redux容器,而不是为所有这些组件创建几个相同的容器。这种情况的最佳方法是什么?

1 个答案:

答案 0 :(得分:3)

我认为,使用函数表达式作为连接的包装器是一种很好的方法;

function mapStateToProps(state){
  return {
    a: state.a,
    b: state.b
  }
}

export const wrapper = (Component) => {
  return connect(mapStateToProps, {})(Component)
}

使用:

import {wrapper} from './source'

const Main = ({a, b}) => (
   <div>{a} - {b}</div>
)

export default wrapper(Main);