fish-redux
fish-redux copied to clipboard
怎么实现局部状态更新
我前面读过fish-redux的源码,我发现每一次更新子组件的状态都会向上通知 并且再调用get函数读取状态
[ChildComponent] --set--> [ParentComponent] --set--> ... -> [Page] --get--> ... --get--> [ChildComponent]
但是现在我要实现这样一个功能

在用户点击同意或者拒绝以后先反馈UI状态,然后才调用API去执行对应的操作,但是子组件的初始状态是根据网络请求返回的,所以调用完dispatch以后,还是会从父组件去生成状态,此时此刻由于网络原因不可能做到实时刷新state,所以从父组件获取到的状态还是 “pending”,所以UI上没有任何变化。

我的state是这样定义的,见下图

其实这个需求用局部的StatefulBuilder就可以实现,但是我想有没有办法用fish-redux实现,如果有那是最好的。
所以你的问题是 1、期望在Response返回前,刷新UI 2、单个组件局部刷新
你是要1还是2?
BTW,你的connector的写法,或产生多次的List<ItemBean>, 建议使用SourceFlowAdapter或Reselect。
是2。
其实为什么不用reselect呢... 现在需求经常变 我属实懒得再改了,一把梭 /doge
fish-redux 本身默认就是局部刷新的。
只有状态发生变化的局部才会刷新。
这个局部是不是以component为单位的局部刷新呢?
我也不知道怎么做友好的局部刷新,一个视图只有一个状态,不是当前component的调动就需要整个界面刷新,影响很大