Javascript 什么';它是在Redux存储中存储函数的替代方法 问题
我有一个这样的结构:Javascript 什么';它是在Redux存储中存储函数的替代方法 问题,javascript,reactjs,redux,react-redux,Javascript,Reactjs,Redux,React Redux,我有一个这样的结构: <MenuBar /> <NavigationBar> <irrelevant stuff here /> <ActionButton /> </NavigationBar> <Router> <Route ...> </Router> 讨论了它,并参考了一些GitHub问题。也讨论这个问题 问题: 我见过很多地方有人说“你不应该那样做”,但我还没有看到在商店中存
<MenuBar />
<NavigationBar>
<irrelevant stuff here />
<ActionButton />
</NavigationBar>
<Router>
<Route ...>
</Router>
讨论了它,并参考了一些GitHub问题。也讨论这个问题
问题:
我见过很多地方有人说“你不应该那样做”,但我还没有看到在商店中存储函数的替代方法。我能想到的另一种选择是使用道具钻孔,但我真的希望避免这种模式
在这一点上,我真的不需要对存储进行持久化或重新水化,时间旅行调试是一个非常好的工具,但不是必须的。然而,如果有好的选择,我希望避免牺牲这些东西
提前感谢!:) 有几个选项:
- 使用中间件侦听
“ACTION\u BUTTON\u CLICKED”
操作,并根据其他值(存储状态、路由等)运行不同的逻辑。这可以是您自己编写的自定义中间件,也可以是一个通用的副作用中间件,如redux saga
或redux observable
,它允许您响应已调度的操作
- 根据其他行为将预定义的操作放入存储,并在单击按钮时调度该操作
我在我的帖子中展示了一个预定义操作方法的示例。几个选项:
- 使用中间件侦听
“ACTION\u BUTTON\u CLICKED”
操作,并根据其他值(存储状态、路由等)运行不同的逻辑。这可以是您自己编写的自定义中间件,也可以是一个通用的副作用中间件,如redux saga
或redux observable
,它允许您响应已调度的操作
- 根据其他行为将预定义的操作放入存储,并在单击按钮时调度该操作
我在我的帖子中展示了一个预定义操作方法的示例。您可以将react router
的状态放在redux存储中。然后,当导航状态更改时,您可以从导航栏
或操作按钮
中访问当前路线
您可以在ActionButton或NavigationBar中存储逻辑,以根据路由决定按钮的功能。您可以在redux存储区中放置react router
的状态。然后,当导航状态更改时,您可以从导航栏
或操作按钮
中访问当前路线
您可以在ActionButton或NavigationBar中存储逻辑,根据路由决定按钮的功能