这是demo:https://codesandbox.io/s/vibrant-fog-lssfz

mstate和state值不一定一致,我使用的时候期望它是一致的,因为我想直接就用state了,但是目前只能用mstate。

发布于 2020-11-21 13:13
共1个回答
AD
游客AdtNgf

state是私有状态和模块状态合并而来,如果ui渲染时没有读取state,则state可能存在旧值,当你遇到ui渲染没有用到模块状态参与渲染但是业务逻辑需要用到模块状态时,可考虑读取moduleState来获取模块状态,里面的值一定是最新的。

为了优化用户使用体验,2.8.3利用模块状态版本对比机制,让失去依赖的ui也能够总是获取到最新值,参见示例:https://codesandbox.io/s/upbeat-platform-f16rn?file=/src/index.js

回答问题