有没有办法从减速器动作中获取返回值?(在 React-Native 中)

Bri*_*Lee 4 reactjs react-native redux

我正在使用 React-Native 制作一个应用程序。

我有一个处于 redux 状态的数据数组。我会说它是用户的数组。

我想选择一个用户并直接从减速器状态获取他的数据。

但是我无法从减速器操作中获得返回值。访问商店并使用 getState() 似乎不是一个好方法。首先,访问位于根组件中的“商店”实例太难了。

我有哪些选择?

  • 注意:我已经知道我可以添加另一个状态,如“pickedUser”并通过操作设置它。但是我想知道是否有另一种直接获取状态的方法。

我正在寻找诸如调用操作并获取返回值之类的东西。

tri*_*ixn 7

我想选择一个用户并直接从减速器状态获取他的数据。

没有什么比减速器状态更好的了。reducer 是一个纯函数,它接受前一个状态和一个动作,并返回下一个状态。

它不应该由你自己调用,而是由 redux 调用来更新状态。您可以通过connect()使用react-redux包中的函数将您的反应组件连接到商店来监听状态变化。如果您的组件正在侦听的状态的一部分更新,它将通过将更新的状态作为道具传递来触发该连接组件的重新渲染。这是对状态变化做出反应的方式。

我正在寻找诸如调用操作并获取返回值之类的东西。

Redux 操作不返回任何内容。它们只是触发全局状态的变化,然后您就可以收听了。如果您需要例如在操作中获取数据(以更新状态),则您需要某种异步操作,例如redux-thunk提供的操作。