我有一个使用react和redux创建的应用程序,当应用程序启动时,我从API获取了一些数据(配置,例如用户状态和它的标签显示,某种字典用于国际化),
我有用户列表查看,列表的每一行都是User
类的实例,我希望以人类可读的方式显示用户状态,所以我需要从API获取的状态,
我使用redux和redux-thunk从API获取字典并在redux商店中存储字典,
我想在User类中创建方法以将状态作为人类可读字符串返回,因此我可以将带有props的状态字典发送到ListComponent
并将其作为参数发送到User.getStatus
方法(方法可以返回{ {1}}但我不认为这是好方法,所以在使用User类声明的模块中我导入我的redux存储(dict[this.status])
的结果)并在combineReducers
方法中调用{{ 1}}并从返回值获取状态字典,这是一个很好的做法,或者我可以做得更好?
答案 0 :(得分:0)
您正在访问仅适用于图书馆作者的redux的低级api。您应该使用react-redux
包,其中包含一个名为connect
的高阶组件,您可以使用它来订阅您的商店。正如@MichalCholewiński所提到的,你可以使用mapStateToProps
函数将你的reducer状态作为道具传递给你的组件。
Redux的作者制作了一个很棒的教程,展示了how you should integrate with react.
答案 1 :(得分:0)
我希望您将数据作为参数传递,以使用户类可重用,这意味着即使无法访问商店,它也可以自行运行。否则也可以从商店访问该状态。为了保持模块化,您可以尝试redux-named-reducers,这样您就可以从代码中的任何位置访问Reducer这样的最新状态:
state1 = getState(reducerA.state1)