项目使用了 Redux,所以先设计好整个应用的状态树,然后在 Store.dispatch 的时候去重新注入了数据,由于前端 view 层用了 MVVM 框架,渲染和数据绑定都不用操心了。
遇到一个很纠结的点是,很多时候我要做一些初始化操作,设计的好的话我的 view 层不应当关心状态,只触发 Action 就好。假设现在我的订单状态更新了,我要去设计一个订单超时倒计时。
Store.subscribe(() => { var { Order } = Store.getState(): this.order = Order; this.setCountDown(Order.leftTime); });
这里我的 setCountDown
方法实际上只需要运行一次,事实是每次 dispatch 的时候都会触发,最终我可能不得不给 State 加状态来处理了:
switch(Order.status) { case Order.HAS_SET_TIME: break; }
有什么相对 clean 的处理方法吗?Tks
没太明白你的意思…初始状态直接写在reducer中的state中就好了…