javascript - 如何从自定义 javascript 访问 redux 存储

标签 javascript redux

我正在尝试在 redux 应用程序中实现外部 API 库。 我是 redux 的新手,所以我不知道它到底是如何工作的。

在使用 API 库的 javascript 中,我不想从容器访问信息(如果用户已登录,则为firstanme)。

阅读一些文档后,我尝试将商店导入到我的js文件中,以获取用户的状态,但我无法获取我需要的信息。

这是我尝试过的代码:

import configureStore from '../store/configureStore';

const store = configureStore();
const state = store.getState();

我在状态中获得了很多信息,但不是我需要的信息。有什么帮助吗?

最佳答案

首先,每次调用 configureStore 时都会创建新的存储。但是您需要组件将使用和填充的store。因此,您需要以某种方式访问​​您传递给 Provider 的商店。

由于存储状态正在“变化”,因此您不能简单地读取它一次。因此,您的用户数据最初可能是空的,但在一段时间后可用。

在这种情况下,你可以将其作为一个 Promise

const once = selector => available => new Promise(resolve => {
   store.subscribe(() => {
      const value = selector(value)
      if(available(value)) resolve(value)
   })
})

及用法

 const user = once(state => state.user)(user => user && user.fullName)

 user.then(user => console.log(`User name is ${user.fullName}`)

或者,如果您的数据在应用程序生命周期中可能会多次更改,您可能希望用代表变化数据(可观察)的内容来包装它。 RX examle

关于javascript - 如何从自定义 javascript 访问 redux 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44968772/

相关文章:

javascript - 我怎样才能通过这个对象 'v-repeat'?

javascript - Spotify PKCE code_verifier 不正确

javascript - Bootstrap 3 scrollspy 不工作,codepen

javascript - 解构赋值默认值

javascript - React Redux 将状态作为 Prop 传递给组件

reactjs - Redux-Form 初始值来自

reactjs - Redux表格: How to handle multiple buttons?

javascript - 高度为 : auto; doesn't work 的 Angular 动画

reactjs - 异步/等待 redux thunk 未正确返回操作 promise

javascript - 有没有办法为这 3 个事件设置一个事件处理程序?