问题标签 [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 store 的最佳实践
我们有一个跨多个团队管理的应用程序,我们希望通过使用微前端方法在应用程序之间创建灵活性和隔离性,每个应用程序都有自己的商店。
一些应用程序使用相同的数据,我们希望减少从服务器获取的重复数据的数量。
我知道在这种情况下听起来我们应该使用一个商店,但是选择了所有准备好使用多个商店。
在商店之间同步数据的最佳方式应该是什么以及如何?
几点:
- 所有数据均来自我们的后端服务
- 数据结构相同,但并非所有应用程序都使用相同的数据,有些应用程序使用数据的子集
- 为了减少 API 调用的重复,我们希望“小型存储”能够同步来自“主”存储的数据
react-admin - 访问反应组件之外的全局存储?
是否可以在 react-admin 中访问react 组件之外的全局存储?
你在导出你的 redux 商店吗?
就像是
javascript - 将基于 Promise 的 React 应用程序转换为 redux-saga:如何设置 React 组件变量?
我是 redux-saga 的初学者,作为一项任务,我想我会尝试将现有的大型 React 应用程序从 Promises 转换为 redux-saga。我正在取得一些进展,但我遇到的一个问题是,当我使用 Promises 时,我能够根据承诺是履行还是拒绝来设置组件局部变量。现在看来我只是将请求“移交”给 redux-saga 并且永远不知道(在调用站点中)它是否完成,现在我不知道(在我的组件中)它是否成功。
例如,假设我有这个基于 Promise 的调用来获取我用户的游戏
如果我的承诺成功, 我在这里设置标志this.needToUpdateGamesFlagFromSocketIO
——以及一个变量。sessionStorage
现在,据我了解,我会将其转换为
这很好用。如果有错误,将从 saga 发送到商店,我的组件将反映这一点。
但是我该如何处理本地标志和会话存储呢?我还需要将这些添加到商店吗?这似乎是一种混乱的方式,除非我为每个组件都有一个单独的商店,每个组件都有一个本地商店,这看起来也很混乱。我在这里看到了一些关于类似主题的讨论,https://github.com/redux-saga/redux-saga/issues/907,但似乎没有答案。我确定我错过了处理所有这些的“redux 方式”,因此欢迎任何指导。
redux - 拆分 reducer 在 redux 中对同一片数据进行操作
我有一个形状像这样的商店:
以 开头的键W_
是保修,以 开头的键O_
是选项。
对于每个保修,我都有一个或多个与之相关联的选项,其中的关系采用user.warranties
以下形式:warranty => [options]
.
为了实现它,我正在像这样组合我的减速器:
现在,“问题”是USER_WARRANTY
和USER_OPTION
动作都由同一个reducer处理,因为:
添加选项时,我需要将其推送到正确的保修条目。
相反,当我添加保修时,我需要使用其默认选项填充它。
最终,它们对同一片数据进行操作
因此,warranties
reducer 必须对这两个动作做出反应,如下所示:
我想把它分成两个减速器,warranties
和options
,但仍然让它们在同一个数据片上运行。
理想情况下,我会像这样组成我的根减速器:
magicalCombine
我很难找到的功能在哪里。
我试过reduce-reducers
了,但看起来第二个减速器(options
)实际上从未到达过,而且我实际上不确定它,因为我不是试图达到平坦状态,而是实际上在同一个键上操作。
redux - 错误:您可能无法在 reducer 执行时调用 store.getState()(不是开发工具或记录器问题)
我试图禁用 Redux 开发工具和记录器,它不是开发工具或记录器问题。尝试更改中间件的顺序,也不起作用。
行动
零件
减速器
如果有人有任何建议,请说,我在这个问题上停留了好几天。我尝试了很多东西,并弹出相同的错误。完整的错误描述:
reactjs - 将 redux 配置为在所有浏览器上显示无法正常工作
我按照官方文档中的说明进行操作;我的应用在 chrome 中运行良好,指向localhost:3000
. 但是,现在我遇到了一个问题,因为似乎如果浏览器没有 Redux 扩展,它将无法工作。根据文档,我写了:
我错过了什么吗?似乎其他人也遇到了同样的问题,并且每个代码库的解决方案似乎都是独一无二的。
编辑:我也试过这个解决方案,但我得到一个错误TypeError: _store__WEBPACK_IMPORTED_MODULE_12__.default.dispatch is not a function
编辑 2:在 chrome 隐身模式下(未启用 redux 开发工具扩展),我遇到了错误,
同样的错误在 Firefox 中。
我的package.json
:
编辑3:
实施以下建议后的新错误:
reactjs - 如何更新 redux 存储中的对象?
随着用户在应用程序中的进展,我想一个接一个地在 redux 存储中的对象中添加项目。因此,我想在商店中添加商品而不删除商店中以前的商品。
请参考以下代码:
减速机代码:
动作代码:
调度调用的代码:
但是,似乎只在商店中添加了最后一个项目,即航空公司,并且以前的项目没有保留。
请帮忙!
提前致谢。
javascript - Extract Redux Store/State as Selector
Currently I'm having to reconfigure my store to create selector. Is there a better way to do this.
#xA;reactjs - 动作被触发,但存储值未更新
动作触发但存储未更新,当动作在单个对象中时动作不起作用,带有返回方法的单独动作起作用
动作.js
order.js
减速器.js