我可以分发使用redux的react组件吗?

时间:2017-09-28 14:27:22

标签: javascript reactjs redux

我正在制作一个大型组件,它将采用一个大型标准化对象并显示它。我将在主要分布式组件中包含许多子组件,并且我不想通过在链中一直输入道具来使其变得难看......

const User = ({ user }) => {
  return (
    <BasicInfo
      name={user.basic.name}
      tagline={user.basic.tagline}
      email={user.basic.email}
      ...more props
    >
    <OtherInfo
      infoprops={info}
      ...long list of props
    >
  )
}

它最终将成为一个很长的道具列表,可能会达到3或4级深度,我真的不想跟踪手动传递的内容...

我习惯使用redux,所以我可以做connect()这样的事情,但是我可以在这里使用带有分布式组件的redux吗?将我的一个组件的状态与最终用户redux分开(如果他们甚至使用redux)?

这是明智的吗?也许有比使用redux更好的方法?谢谢

1 个答案:

答案 0 :(得分:1)

我不认为使用redux使组件可重用是一个好主意,因为redux基于整个应用程序的单个商店,因此,如果您创建商店,应用程序将无法创建它自己的。

考虑到这一点,我认为你可以使用Singleton模式创建你的自定义商店(正如你通常用android做的那样),而不会强迫你的可能用户将redux添加到他们的项目中只是为了使用你的组件。

在不了解您的组件层次结构或行为的情况下,我无法为您提供更多指导。