灵感
创造 Rematch 的灵感来源于 Dva 和 Mirror .
Rematch | Mirror | Dva | |
适用框架 | 所有框架 / 不使用框架 | React | React |
适用路由 | 所有路由 / 不使用路由 | RR4 | RR3, RR4 / 不使用路由 |
移动端 | √ | × | √ |
开发者工具 | Redux, Reactotron | Redux | Redux |
插件化 | √ | √ | √ |
reducers | √ | √ | √ |
effects | async/await | async/await | redux saga |
effect params | (payload, internals) | (action, state) | (action, state) |
监听方式 | subscriptions | hooks | subscriptions |
懒加载模型 | √ | √ | √ |
链式 dispatch | √ | √ | √ |
直接 dispatch | √ | ||
dispatch promises | √ | √ | |
加载插件 | √ | √ | √ |
persist plugin | √ |
从 Redux 轻松迁移
从 Redux 迁移到 Rematch 只会在状态管理上有微小的改变,不会影响到你的视图逻辑。你可以通过将现有的 reducers 当作 extraReducers
传入 init
继续使用你当前的 reducers,你也可以使用 dispatch(action)
直接触发 actions。
可组合的插件
Rematch 从里到外都是构造于插件机制之上。无论是 dispatch 还是 selectors 统统都是插件。因此,开发者可以创造一个复杂的自定义插件,在 modal
上修改 setup 或者 add ,而无需对 Rematch 本身做任何修改。
Last updated