问题标签 [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.

0 投票
1 回答
103 浏览

reactjs - 正确调度注销动作 redux-saga

我有一个带有以下代码的应用程序来处理 HTTP 请求:

除其他外,处理程序检查错误代码并调度 LOGOUT 操作以清理存储和会话。我的注销操作定义为:

但是,代码没有按我的意愿工作。我dispatch(logout)导致以下错误:Error: Actions must be plain objects. Use custom middleware for async actions.

我该如何解决这个问题?

0 投票
1 回答
179 浏览

react-native - react native 应用程序中 redux 存储的最大大小是多少?

我正在编写一个 React Native 应用程序。我正在使用 Redux 来存储我的数据。我在任何地方都在使用这些数据,因此我将它存储在 redux 中并且不从服务器请求它。此数据通过 3-5 个 reducer 和 40-60 个操作组合进行修改。

就我而言,数据可能约为 1-2 MB。

这会影响我的应用程序性能吗?

0 投票
0 回答
112 浏览

reactjs - 如何使用按钮从表中获取数据。React.js 和 Redux

我正在创建一个表格,我将在其中显示不同的产品,并且我需要选择编辑每个产品。所有这些产品都存储在 redux 存储中,所以我想要做的是按下编辑按钮以在活动存储中显示事件。(我附上一张图片,以便您更好地了解我希望在哪里展示活动)。但我不知道如何捕获数据。

如您所见,当我按下编辑按钮时,我需要的是活动字段显示对象 0 的数据,但我不知道如何捕获数据。

表和 redux 存储

我渲染表格的文件

我使用 useSelector 从商店获取数据

0 投票
0 回答
130 浏览

reactjs - 在服务器端渲染中更新 React Context

在服务器端渲染中,我们可以更新服务器中的 redux 存储以预先获取所有异步数据。参考代码可以在这里找到:https ://github.com/NareshVadlamani/react-ssr 。

我想对反应上下文做同样的事情,但它会给出错误,比如你不能在钩子之外更新上下文。

显然 redux 在内部使用反应上下文,在 redux 中它是如何可能的而不是在反应上下文中。

0 投票
1 回答
37 浏览

react-native - 如何将我的 React Navigator 包装在 redux 商店中?

在我的 app.js 文件中,我有一个 Navigator,我试图将它包装在一个 redux 商店中,以便控制整个应用程序的状态。我收到了这个错误:

“不变违规:此导航器缺少导航道具。在 react-navigation v3 和 v4 中,您必须直接设置您的应用容器。”

如何正确地将导航器包装在 Redux 商店中以便我可以使用它?

应用程序.js

0 投票
0 回答
38 浏览

reactjs - 使用 mapStateToProps (react-redux) 与 store.getState() 时 this.props 中收到的值的差异

我在我的代码库中遇到了一个问题,所以我制作了一个示例代码来演示这个问题。

代码和框代码的链接

应用程序.js

两个 console.log 浏览器控制台日志的截图: 在此处输入图像描述

appDataAction.js

appDataReducer.js

来自 react-redux 文档

mapStateToProps 函数的第一个参数是整个 Redux 存储状态(调用 store.getState() 返回的值相同)。

有人可以解释为什么两个控制台存在差异。我已经调试并发现从reducer mapStateToProps 返回后被调用并且它获取状态的更新值那么为什么this.props.appData 在handleChange 函数中不是最新的。

我相信它可能与脏状态有关,但如果它适用于函数中的 getState() 它也应该适用于 this.props.appData。

在此处输入图像描述

0 投票
1 回答
409 浏览

reactjs - 更新状态后防止顶部滚动

嗨,我在每次渲染后滚动到首页时遇到问题。在我的 Root 组件中,当我从Redux Store获取 Array of objects items 时。我在三个 subsArray 上过滤 mainArray,例如:Hot、Favorite、Regular,然后在特定路线上渲染它们中的每一个。每次更新 mainArray 时都会运行过滤器函数:喜欢评分上升和下降或设置收藏夹将被标记。
问题是,为什么每次将动作分派到 redux 存储时都做出反应渲染(我认为 redux 会导致这种情况,我猜)以及如何防止这种情况发生。请给我一个提示,我挣扎了一段时间......

0 投票
1 回答
65 浏览

typescript - 添加redux-persist后,我无法再获取redux store的状态

我已经寻找了两天的解决方案,并没有找到任何有完全相同问题的人。我假设我在做一些愚蠢的事情。

添加 redux-persist 后,我​​无法再引用我的 redux 存储。它就在那里。我可以在 redux 开发工具中看到它。此外,当我使用调试器并将鼠标悬停在状态上时,我可以看到它。但是,当我尝试提取“trips”(状态对象的属性)时,它不会让我说“'PersistPartial' 类型上不存在属性'trips'”。

在添加 redux-persist 之前这样做是有效的。但现在它给了我上面提到的错误,因为 store now 是 type: "Store<PersistPartial, any> & { dispatch: unknown; }"

0 投票
1 回答
1787 浏览

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 状态。我一无所知

0 投票
1 回答
111 浏览

reactjs - 如何访问组件外部的 redux 存储?

我有一个 API 文件和一个tokenin redux 商店。我已经尝试过,getState()但令牌会在用户登录后存储,所以它给了我未定义的错误。我该如何解决这个问题?