切换到新版本会有什么breaking change嘛
atvoid opened this issue · 5 comments
atvoid commented
能无缝切换过来嘛现在,是不是以前所有的功能都是支持的
SpringNyan commented
除了多model注册在同一namespace之外所有功能都支持
对于多model的情况
Old:
{
ui: [modelA, modelB, modelC]
}
New:
{
ui: {
a: ModelA,
b: ModelB,
c: ModelC
}
}
Noticeable Change:
- 定义model时
args -> defaultArgs
,state -> initialState
- model的
isDynamic
和isLazy
(autoRegister)需要通过createModel的第二个参数提供,不再支持[model]
的形式 - onUnhandledError将promise或caught作为第二个参数提供,需要主动处理(对于effect,一般
promise.catch(() => {})
;对于epic,一般直接return caught
。
atvoid commented
之前builder有个选项是option,里面包含autoRegister,现在是不需要了嘛?
SpringNyan commented
之前builder有个选项是option,里面包含autoRegister,现在是不需要了嘛?
上面的第二条,用isLazy
createModel(class extends ModelBase { ... }, { isDynamic: true, isLazy: true } );
atvoid commented
上面的第二条,用isLazy
isLazy 和 以前的 autoRegister 是一个意思?
SpringNyan commented
isLazy 和 以前的 autoRegister 是一个意思?
对的,实际上现在static model也可以用isLazy,如果设成true的话则不会在registerModels的时候自动注册container,而是等到真正dispatch action的时候