我正在尝试在 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
我是一名优秀的程序员,十分优秀!