问题标签 [redux-store]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reactjs - 正确调度注销动作 redux-saga
我有一个带有以下代码的应用程序来处理 HTTP 请求:
除其他外,处理程序检查错误代码并调度 LOGOUT 操作以清理存储和会话。我的注销操作定义为:
但是,代码没有按我的意愿工作。我dispatch(logout)
导致以下错误:Error: Actions must be plain objects. Use custom middleware for async actions.
我该如何解决这个问题?
react-native - react native 应用程序中 redux 存储的最大大小是多少?
我正在编写一个 React Native 应用程序。我正在使用 Redux 来存储我的数据。我在任何地方都在使用这些数据,因此我将它存储在 redux 中并且不从服务器请求它。此数据通过 3-5 个 reducer 和 40-60 个操作组合进行修改。
就我而言,数据可能约为 1-2 MB。
这会影响我的应用程序性能吗?
reactjs - 在服务器端渲染中更新 React Context
在服务器端渲染中,我们可以更新服务器中的 redux 存储以预先获取所有异步数据。参考代码可以在这里找到:https ://github.com/NareshVadlamani/react-ssr 。
我想对反应上下文做同样的事情,但它会给出错误,比如你不能在钩子之外更新上下文。
显然 redux 在内部使用反应上下文,在 redux 中它是如何可能的而不是在反应上下文中。
react-native - 如何将我的 React Navigator 包装在 redux 商店中?
在我的 app.js 文件中,我有一个 Navigator,我试图将它包装在一个 redux 商店中,以便控制整个应用程序的状态。我收到了这个错误:
“不变违规:此导航器缺少导航道具。在 react-navigation v3 和 v4 中,您必须直接设置您的应用容器。”
如何正确地将导航器包装在 Redux 商店中以便我可以使用它?
应用程序.js
reactjs - 使用 mapStateToProps (react-redux) 与 store.getState() 时 this.props 中收到的值的差异
我在我的代码库中遇到了一个问题,所以我制作了一个示例代码来演示这个问题。
代码和框代码的链接
应用程序.js
appDataAction.js
appDataReducer.js
来自 react-redux 文档
mapStateToProps 函数的第一个参数是整个 Redux 存储状态(调用 store.getState() 返回的值相同)。
有人可以解释为什么两个控制台存在差异。我已经调试并发现从reducer mapStateToProps 返回后被调用并且它获取状态的更新值那么为什么this.props.appData 在handleChange 函数中不是最新的。
我相信它可能与脏状态有关,但如果它适用于函数中的 getState() 它也应该适用于 this.props.appData。
reactjs - 更新状态后防止顶部滚动
嗨,我在每次渲染后滚动到首页时遇到问题。在我的 Root 组件中,当我从Redux Store获取 Array of objects items 时。我在三个 subsArray 上过滤 mainArray,例如:Hot、Favorite、Regular,然后在特定路线上渲染它们中的每一个。每次更新 mainArray 时都会运行过滤器函数:喜欢评分上升和下降或设置收藏夹将被标记。
问题是,为什么每次将动作分派到 redux 存储时都做出反应渲染(我认为 redux 会导致这种情况,我猜)以及如何防止这种情况发生。请给我一个提示,我挣扎了一段时间......
typescript - 添加redux-persist后,我无法再获取redux store的状态
我已经寻找了两天的解决方案,并没有找到任何有完全相同问题的人。我假设我在做一些愚蠢的事情。
添加 redux-persist 后,我无法再引用我的 redux 存储。它就在那里。我可以在 redux 开发工具中看到它。此外,当我使用调试器并将鼠标悬停在状态上时,我可以看到它。但是,当我尝试提取“trips”(状态对象的属性)时,它不会让我说“'PersistPartial' 类型上不存在属性'trips'”。
在添加 redux-persist 之前这样做是有效的。但现在它给了我上面提到的错误,因为 store now 是 type: "Store<PersistPartial, any> & { dispatch: unknown; }"
redux - 如何实现redux-toolkit和next,js又不丢SSR
我正在尝试在我的 Next.js 项目中实现 redux-toolkit,而不会丢失我从外部 API 获取的数据的 SSR 选项。我遵循了 next.js GitHub 中的示例,但这样做导致在我的 redux 切片中获取数据时没有 SSR。我想知道如何获取数据并将该数据保存在 Redux 状态。这就是我写的:这是 store.js 文件
_app.js 文件
usersSlice.js 文件
最后是我从中获取数据的页面:
如果我通过调度 fetchUsers 函数来获取数据,它将没有 SSR,如果我使用 getServerSideProps,它将不会保存在 redux 状态。我一无所知
reactjs - 如何访问组件外部的 redux 存储?
我有一个 API 文件和一个token
in redux 商店。我已经尝试过,getState()
但令牌会在用户登录后存储,所以它给了我未定义的错误。我该如何解决这个问题?