Dvaの3つの方法でdispatchのPromiseコールバックを実現

714 ワード

Dva2.0以降
  • 公式持参のPromise
  • を使用
    //      e.g: Tags.js
    dispatch({
      type: 'user/add',
      payload: {}, //        
    })
     .then(result => {
       console.log('Tags result', result);  
     })
    
    // model  e.g: user.js
    *add({ payload }, { call, put }){
        const response = yield(addTags, payload);
        const { code, msg } = response;
        if(code === 200) {
            //      
            // do something...
            return true;    //    return dispatch      !
        }else {
            //      
            // do something...
            return false;
        }
    }

    このとき、ビジネスコンポーネントのdispatchは、modelレイヤaddが返す値を受信する.dataを利用していくつかの論理的な判断をすることができます
    興味のあるソースはDva 2を見ることができます.0リリースログ
    Dva2.0以降