ant,dva细节,注意事项

1.models目录中:

import request from '../util/request';
const delay = (millisecond) => {
  return new Promise((resolve) => {
    setTimeout(resolve, millisecond);
  });
};
export default {
  namespace: 'cards',
  state: {
    cardsList: [],
    statistic: []
  },
  effects: {
    * queryList(_, sagaEffects) {
      const listData = [{
        id: 1,
        name: 'umi',
        desc: '极快的类 Next.js 的 React 应用框架',
        url: 'https://umijs.org'
      },
      {
        id: 2,
        name: 'antd',
        desc: '一个服务于企业级产品的设计体系',
        url: 'https://ant.design/index-cn'
      },
      {
        id: 3,
        name: 'antd-pro',
        desc: '一个服务于企业级产品的设计体系',
        url: 'https://ant.design/index-cn'
      }
      ];
      const { call, put } = sagaEffects;
      yield call(delay, 1000);
      yield put({ type: 'initList', payload: listData });
    },

  },
  reducers: {
    initList(state, { payload }) {
      const cardsList = [...payload];
      console.log(state.statistic)
      return {
        ...state,//多个参数一定先state,不然会清空别的数据
        cardsList,
        
      };
    },
    addOne(state, { payload }) {
      const newCardWithId = { ...payload ,id:state.cardsList.length+1};
      const cardsList = state.cardsList.concat(newCardWithId);
      return {
        ...state,
        cardsList
      }
    },
    getStatistic(state, { payload }) {
      console.log(state.statistic)
      const array = [{ genre: 'Sports', sold: 275, id: 1 },
      { genre: 'Strategy', sold: 1150, id: 2 },
      { genre: 'Action', sold: 120, id: 3 },
      { genre: 'Shooter', sold: 350, id: 4 },
      { genre: 'Other', sold: 150, id: 5 }];
      const statistic1 = state.statistic.concat(array);
      return {
        ...state,
        statistic: statistic1,
      }
    }
  }
};

2.多个参数

 <Button className="button" key={door.id} dtype="door" type="primary" disabled={door.online ? false : true} icon="poweroff" loading={door.Loading} onClick={this.enterIconLoading.bind(this, door, "door")}>

3.Uncaught SecurityError: Failed to execute ‘replaceState’ on ‘History’:解决方案
描述:使pushState默认为真变为false。

<script>
$.mobile.pushStateEnabled = false;
</script>

猜你喜欢

转载自blog.csdn.net/cx091/article/details/82869900