reactjs - 有没有办法从 reducer Action 中获取返回值? (在 React-Native 中)

标签 reactjs react-native redux

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

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

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

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

我有哪些选择?

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

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

    最佳答案

    I want to pick one user and get his data directly from reducer state.



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

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

    I'm looking for something like calling an action and get the return value.



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

    关于reactjs - 有没有办法从 reducer Action 中获取返回值? (在 React-Native 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48151485/

    相关文章:

    typescript - Ngrx 商店 - 如何选择根状态

    reactjs - 升级到 v6 时 BrowserRouter basename 属性问题

    javascript - 无法安装 create-react-app

    java - 运行 gradlew assembleRelease 时出现内存不足错误 - react-native

    android - 每次选择时如何从 ReactNative-DatePickerAndroid 获取选定日期?

    javascript - 如何创建登录和注册页面而无需连接到后端(ReactJS + Redux)?

    reactjs - 如何在 React 中重定向而不重置 Redux Store?

    javascript - 如何在没有 html 标记的情况下显示 React Quill 的内容?

    css - 你如何使用 React 在悬停时渲染不同的 SVG

    reactjs - 区域更改后无法触摸 React Native Maps 自定义标记