美文网首页
dva中model的复用

dva中model的复用

作者: TouchMe丶 | 来源:发表于2019-03-21 14:21 被阅读0次

    dva是蚂蚁金服开源的一套基于react,redux,redux-saga,react-router技术栈的框架。也可以说是一种开发的解决方案。
    本文是面对一些对对dva已经很了解的朋友。
    我们都知道 dva是可以动态加载model的。用require.ensure.从这个角度看,model是可以由不同生命周期的,有些可以与视图伴随,有些可以贯穿整个生命周期。
    从业务场景来看,有不少场景可以做全局model的。比如说,我们在路由之间前进后退,model可以用于在路由间共享数据。比较典型的,像列表页和详情页的互相跳转,就可以用一份model去共享他们的数据。
    注意,如果当前应用中加载了不止一个model,在其中一个的effect里面做select操作。是可以获取另外一个effect的state的:

    *foo(action,{select}){
      const { a,b} = yield select();
    }
    

    对于有些页面只是展示不同,页面逻辑都差不多,接口有差异的话。我们可以进行model的复用。把有差异的地方写成参数传入进去就行了。

    export default {
      namespace: 'reusable',
      state: {},
      reducers: {},
      effects: {},
      subscriptions:{}
    }
    

    相关文章

      网友评论

          本文标题:dva中model的复用

          本文链接:https://www.haomeiwen.com/subject/mwvfvqtx.html