我开始开发一个将调用 API 的应用程序,该 API 需要包含我计划存储在 Redux 商店中的 JWT。
通常,您可以通过使用 mapStateToProps()
和 connect()
将商店的特定部分映射到组件的状态来访问 Redux 商店,但是我喜欢在最终不会成为 React 组件/容器的文件中访问 Redux 存储 - 只是一个将处理 API 调用的纯 js 文件。
这可能吗?
最佳答案
您可以使用 createStore
返回的商店的 getState()
函数。您可以在从状态中获取所需数据的函数中使用它。
const myImportantData = () => store.getState().my.deep.data;
上面的版本直接使用存储,就像在全局变量中一样。这可以防止您在流程中使用多个商店。通常这是您想要的,但在服务器上运行时并非如此。也就是说,在服务器上您可能根本不需要 JWT 访问权限。
但是,如果您确实需要交换商店,那么您可以将其作为参数传递或通过 store
局部变量关闭:
const getDataGrabber = store => () => store.getState().my.deep.data;
关于javascript - 在 Redux 和 React Native 应用程序中访问商店,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40519505/