我正在使用React-Native制作应用。
我有一个处于redux状态的数据数组。 我会说它是用户的阵列。
我想选择一个用户并直接从reducer状态获取他的数据。
但是我无法从减速器动作中获得返回值。 访问商店并使用getState()似乎并不是一个好方法。首先,它很难进入'存储'实例位于根组件中。
我有哪些选择?
我正在寻找类似于调用动作并获得返回值的内容。
答案 0 :(得分:2)
我想选择一个用户并直接从reducer状态获取他的数据。
没有像减速器状态那样的东西。 reducer是一个纯函数,它接受先前的状态和一个动作,并返回下一个状态。
它永远不应该由你自己调用,而是由redux来更新状态。你可以通过连接例如来监听状态变化使用react-redux包中的connect()
函数将您的组件反应到商店。如果组件正在侦听更新状态的一部分,则会通过将更新的状态设置为props来触发重新呈现该连接组件。这是对状态变化做出反应的方法。
我正在寻找调用动作并获得返回值的内容。
Redux操作不返回任何内容。它们只是触发您可以听的全局状态的更改。如果您需要,例如获取数据以在操作中更新状态,您需要某种异步操作,例如: redux-thunk提供。
答案 1 :(得分:0)
新版本中,您可以将useSelector()和useDispatch()与redux一起使用...仍然需要对所有异步调用使用Redux-thunk