zoukankan      html  css  js  c++  java
  • dva subscription的使用方法

    import { routerRedux } from 'dva/router'
    export default {
      namespace: 'notice',
      state: {
        notices:[],
        loading: false,
        editModalVisible: false
      },
      effects: {
        *watchAndRefreshList({ dispatch }, { put, call, take }){
          let listAction = {};
        //关闭弹框后重新获取数据
        //调用hideModal就会触发fetch
    while(true){ const action = yield take(['notice/fetch', 'notice/hideModal']); console.log('action', action); if(action.type == 'notice/fetch'){ action.type = 'fetch'; listAction = action; } if(action.type == 'notice/hideModal'){ action.type = 'hideModal'; dispatch(listAction); } } }, *fetch({ payload }, { call, put }) { const response = yield call(Get, '/api/notices'); yield put({ type: 'save', payload: response }) }, *gologin({ payload }, { call, put }) { yield put(routerRedux.push('/user/login')) } }, reducers: { save(state, action) { return { ...state, notices: action.payload } }, showModal(state, action){ return { ...state, editModalVisible: true } }, hideModal(state, action){ return { ...state, editModalVisible: false, } }, }, subscriptions: { //监听地址,如果地址含有app则跳转到登陆页 setup({ dispatch, history }) { history.listen(location => { if (location.pathname.includes('app')) { dispatch({ type: 'gologin' }) } }); }, watchAndRefreshList({ dispatch, history }){ dispatch({ type: 'watchAndRefreshList', dispatch }); } }, };
  • 相关阅读:
    【SAS NOTE】OUTPUT
    【SAS NOTES】_NULL_
    【SAS NOTE】sas 9.2 安装
    【SAS NOTE】FREQ
    纯数学教程 Page 203 例XLI (1)
    纯数学教程 Page 203 例XLI (3)
    纯数学教程 Page 203 例XLI (2)
    Prove Cauchy's inequality by induction
    纯数学教程 Page 325 例LXVIII (15) 调和级数发散
    纯数学教程 Page 325 例LXVIII (15) 调和级数发散
  • 原文地址:https://www.cnblogs.com/AnnieShen/p/8028231.html
Copyright © 2011-2022 走看看