SpringNyan/nyax

切换到新版本会有什么breaking change嘛

atvoid opened this issue · 5 comments

能无缝切换过来嘛现在,是不是以前所有的功能都是支持的

除了多model注册在同一namespace之外所有功能都支持

对于多model的情况

Old:

{
  ui: [modelA, modelB, modelC]
}

New:

{
  ui: {
    a: ModelA,
    b: ModelB,
    c: ModelC
  }
}

Noticeable Change:

  1. 定义model时args -> defaultArgs, state -> initialState
  2. model的isDynamicisLazy(autoRegister)需要通过createModel的第二个参数提供,不再支持[model]的形式
  3. onUnhandledError将promise或caught作为第二个参数提供,需要主动处理(对于effect,一般promise.catch(() => {});对于epic,一般直接return caught

之前builder有个选项是option,里面包含autoRegister,现在是不需要了嘛?

之前builder有个选项是option,里面包含autoRegister,现在是不需要了嘛?

上面的第二条,用isLazy

createModel(class extends ModelBase { ... }, { isDynamic: true, isLazy: true } );

上面的第二条,用isLazy

isLazy 和 以前的 autoRegister 是一个意思?

isLazy 和 以前的 autoRegister 是一个意思?

对的,实际上现在static model也可以用isLazy,如果设成true的话则不会在registerModels的时候自动注册container,而是等到真正dispatch action的时候