redux 异步操作完成以后的操作如何进行? 财富值35

2016-10-27 20:23发布

现在有这样一个需求:

  1. 现有一份数据,需要 POST 到服务端

  2. 服务端保存成功以后 返回{state: ok}

  3. 前端收到{state:ok}以后 弹出提示框,并且几秒以后自动转跳。

现在通过 redux 前端已经收到了{state:ok}了。
但是reducer 要求是纯函数,不可以做弹出提示框 & 设置自动转跳这种行为。
所以不知道应该怎么写下面的代码了。求指教········

付费偷看设置
发送
2条回答
axun - 这个人很懒,什么都没留下
1楼 · 2016-10-27 20:21.采纳回答

1.可以使用一个标记变量啊,默认为false,在reduce中发现返回{state: ok} 就把标记变量变为true,这样组件就会发生变化重新渲染,这时候你在render中做判断,当标记变量为true的时候就展示那个弹层.false就为null就好啦.
2.也可以像楼上说的在componentWillReceiveProps时得到当前改变的,通过判断标记变量来控制显示还是隐藏.
恩我也就这两种看似不一样,但是感觉又一样的方法来实现了.

reducer 中记录一个状态,在 component 里面检查这个状态,如果状态是 ok,就执行弹出提示 & 自动跳转

一周热门 更多>