【发布时间】:2016-04-22 06:16:02
【问题描述】:
我正在编写一个安静的 redux/react 应用程序。 我想要的输出是这样的。
INPUT_CHANGE-->
(state = {valid: false})->REDUCER->(state = {valid: true})-->
AJAX CALL
从 redux 文档来看,异步 javacript 应该是从动作创建者调用的,但是我不明白一旦状态从 valid:false 变为 valid:true 后如何访问动作创建者。
由于这是一个 react 应用程序,我可以更改一个名为 valid 的隐藏输入,它附加了一个 onChange 操作创建器,但这似乎是一个不必要的额外步骤。有任何想法吗?
【问题讨论】:
-
某些东西必须在监听有效的状态变化。无论在哪里,您都可以使用
componentWillUpdate来触发执行异步操作的动作创建者。 -
使用redux,组件在技术上会更新吗?我认为重点是用新的道具重新渲染?
-
完全正确...每当组件即将使用新道具重新渲染时
componentWillUpdate就会触发。一般的观点是观察状态变化的东西(如连接的组件)需要触发一个动作(如 ajax 调用) -
好吧,这对我来说很有意义!干杯
-
但要小心无限循环!请记住,您应该只在某些条件下发送更多的状态更改。每当状态改变时就派发是很诱人的,但是状态改变状态改变状态,所以请记住这一点
标签: ajax reactjs reactjs-flux redux