Reactjs 将动作创建者传递给react redux应用程序中的功能组件的良好实践?

Reactjs 将动作创建者传递给react redux应用程序中的功能组件的良好实践?,reactjs,redux,react-redux,Reactjs,Redux,React Redux,我已经将我的大多数容器转换为功能组件,以使它们可重用,我想知道将动作创建者作为道具传递给这些功能组件是否是一种好的做法 在本例中,我使用一个选项卡在登录和注册页面之间切换,并使用本地状态来管理用于样式设置的活动类。我调用作为道具传递的动作创建者在呈现登录或注册页面之间切换。我在几个地方使用这个选项卡,并根据用例传递不同的配置对象 homePageTabProps = { firstTabTitle:"blog", secondTabTitle:"resume

我已经将我的大多数容器转换为功能组件,以使它们可重用,我想知道将动作创建者作为道具传递给这些功能组件是否是一种好的做法

在本例中,我使用一个选项卡在登录和注册页面之间切换,并使用本地状态来管理用于样式设置的活动类。我调用作为道具传递的动作创建者在呈现登录或注册页面之间切换。我在几个地方使用这个选项卡,并根据用例传递不同的配置对象

homePageTabProps = {
  firstTabTitle:"blog",
  secondTabTitle:"resume",
  showFirstTab: this.props.showBlogTab,
  showSecondTab: this.props.showResumeTab
}
这是好的做法吗?是还是不是

编辑:
在重用组件时,活动选项卡样式为我带来了一些问题。我可以拥有本地和全局状态吗?如果这听起来很愚蠢,那很抱歉。

在组件层次结构中传递函数作为支撑肯定是广泛接受的做法。但我建议不要传递裸动作创建者,而是在将它们传递到组件之前将它们绑定到dispatch。这样,如果您的子组件未连接到存储,则它根本不需要了解Redux,也不需要手动分派

至于你的两种状态的复杂性。混合使用自己组件的状态和通过connect传递给组件的部分Redux并没有什么错。我甚至强烈建议将所有对应用程序逻辑不重要的临时数据保存在组件的状态中,而不将其暴露给Redux。例如,大多数情况下,将动画计时、用户输入的中间状态等发送到Redux是没有意义的


但是,在您的情况下,活动选项卡的指示似乎是Redux状态的直接反映,应该从存储中提取。否则,不清楚您为什么要在选项卡更改时向Redux发送操作。

您需要发布更多功能组件的代码,以获得有用的答案。谢谢您的回答!我正在使用动作创建者更改全局状态第一个选项卡是否可见。因为我在不同的场景中重用它,所以我要通过不同的操作来实现相同的效果!