问题标签 [redux]
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.
javascript - React textarea with value 是只读的,但需要更新
我的 React 应用程序中有一个文本区域,其中填充了一个值。我希望更新此文本区域并提交表单以更新数据库中的行。
描述变量用数据库中的值填充文本区域。该字段未禁用。
我试图附加一个 onChange 事件,该事件调度一个动作(redux)来更改 textarea 的值,但它会为每个字母触发,而且速度太慢。
如何创建一个由值填充且可编辑的文本区域?
谢谢!
reactjs - 为什么在 Redux 中直接使用“this.props.dispatch”而不是“store.dispatch”?
直接使用 store.dispatch 有什么害处吗?
在我看来,调用起来要容易得多(因为它对所有子组件都可用),到目前为止,在我的测试中,我还没有找到不同之处。
谢谢!
javascript - 如何将 redux 状态传递给子路由?
我很难理解如何将 redux 与 react-router 一起使用。
index.js
应用程序.js
显示.js
这抛出
未捕获的类型错误:无法读取未定义的属性“地图”
我发现的唯一解决方案是使用它而不是 {children}:
这真的是正确的方法吗?
javascript - 如何撤消 Redux 异步操作?(多步返回状态)
如果我有一个带有 api 调用的异步操作,这可能是一个操作返回一个函数:
或者返回一个对象并使用中间件拦截它并做一些事情:
现在我的问题是:如何在调度 asyncAction 之前回滚到状态,这实质上意味着在状态(成功/失败 => 请求)中退回两步,使用 api 调用撤消上一次 api 调用。
例如,删除一个待办事项(这是一个异步操作)后,会显示一个带有撤消选项的弹出式快餐栏,单击它后,已删除的待办事项将被添加回 UI 以及 api 调用以将其添加回数据库。
我试过redux-undo但我觉得它不是为了解决这样的问题。
或者我应该忘记“撤消”并在用户单击撤消选项时发送一个全新的addTodo操作?
提前致谢 :-)
javascript - React + Redux - 在表单组件中处理 CRUD 的最佳方法是什么?
我有一张用于创建、读取、更新和删除的表格。我创建了 3 个具有相同形式的组件,但我向它们传递了不同的道具。我得到了 CreateForm.js、ViewForm.js(只读,带有删除按钮)和 UpdateForm.js。
我曾经使用 PHP,所以我总是以一种形式完成这些工作。
我使用 React 和 Redux 来管理商店。
当我在 CreateForm 组件中时,我将这个道具传递给我的子组件,createForm={true}
以不使用值填充输入并且不禁用它们。在我的 ViewForm 组件中,我传递了这个 props readonly="readonly"
。
我遇到了另一个问题,即填充了一个值且不可更新的 textarea。React textarea with value 是只读的,但需要更新
只有一个组件处理表单的这些不同状态的最佳结构是什么?
你有什么建议、教程、视频、演示要分享吗?
redux - 观察中间件的存储状态变化
我正在编写一个 Redux 中间件,它负责在用户点击redux-api-middlewareAPI_CALL
之前将用户的 OAuth AccessToken 添加到阳离子。
但是,我也希望这个中间件检测用户的 AccesToken 何时过期......
发生这种情况时,中间件会保留该操作(防止将其传递给next
链中的中间件)并将其存储在内部列表中。然后它开始异步。通过分派“刷新访问令牌”FSA 进行令牌刷新过程:
最后,我想监听“刷新访问令牌”流程何时完成并刷新(重新调度)所有被扣留的操作。AUTHENTICATION_RESPONSE
目前,我通过在FSA 流经我的中间件时寻找它们来做到这一点(该操作作为thunkAUTHENTICATION_RESPONSE
的副作用进行调度。refreshAccessToken
但是我对这种方法并不满意,因为不确定AUTHENTICATION_RESPONSE
FSA 是否真的会命中减速器(它可能被其他中间件拦截,或者被进一步推迟)。
我考虑过的可能替代方法是让refreshAccessToken
actionCreator 返回一个返回 Promise 的 thunk;这样我的中间件可以在刷新和重放所有请求之前等待该承诺解决,即:
或者,我可以让我的中间件直接观察商店并在auth.accessToken
值发生变化时触发动作 - 但是,我不清楚中间件观察商店的指导是什么(我猜这是不可能的,因为中间件需要是在创建最终存储对象之前实例化。)
谢谢 :)
更新
在回家的路上思考问题;如果我要将实际的身份验证逻辑移出refreshAccessToken
(一个 thunk'd 动作创建者),并移到中间件本身,那么我会省去很多痛苦:
reactjs - 大量数据是否应该在 redux 中进入应用程序状态?
假设我有一些数据表,例如返回用户列表(带有详细信息)或日志记录列表的管理员报告列表。此信息是否属于 redux 存储,只有数据表需要此信息?或者,如果我正在绘制具有 5000 个节点的东西怎么办。这也属于 redux 单一应用程序状态吗?为什么或者为什么不?
如果这些项目不属于应用程序状态,那么我应该在没有 redux 的情况下将它们加载到本地组件状态吗?不过,类似地获取我所有的异步请求似乎很好。
reactjs - 如何从三层下的子组件调度动作?
我目前在设计 React 应用程序时面临这个问题,但我似乎无法找到答案。
所以我的应用程序在 React Router 中具有以下组件层次结构
App -> DynamicContainer -> -> LoginComponent
现在,LoginComponents 有表单元素来获取用户名和密码。
我有处理登录的 userActionCreators ,它在完成后发送登录成功,但我似乎无法找到连接我的 LoginComponent 以发送操作或调用 actionCreators 的正确方法。
我该怎么做?任何建议将不胜感激。
javascript - 仅在行更改时消失的多行占位符
你好!
我试图找出一种在 textarea 内做多行占位符的简单方法(或替代解决方案,更多关于底部的内容),只有当行发生变化时才会消失。所以,基本上,如果这是 textarea 的初始状态(或任何可能的状态)
用户点击第一个问题并输入A
如下所示:
到目前为止,我已经考虑了三种不同的解决方案,但不确定更喜欢哪一种。
1) 具有与文本区域分开呈现的幽灵内容。
2)不要使用文本区域,而是每行输入一个文本区域。问题将是实现 textarea 行为,但有许多输入。不过,每行都有占位符是微不足道的。
3)拥有实际文本并在需要时使用某种解析器来添加/删除文本。
感谢我能得到的任何帮助/指示。
我正在使用 React 和 Redux,但我很高兴得到答案,其中包括我可以从中获得灵感的其他技术。
javascript - React + Redux - 当输入具有来自状态的值时,输入 onChange 非常慢
我的输入被我所在州的一个值填充。
Settings
是我对 Redux 的状态。当我在输入中输入一个值时,我必须指定一个onChange
函数。这是我的 onChange 函数:
它更改flashVarsValue
输入值的状态值。但是当我输入我的输入时,它会滞后。我不明白为什么每次更改输入值时都应该调用调度。
有什么办法可以减少延迟?
我的减速机:
我的行动:
谢谢