ant,dva細節,注意事項
阿新 • • 發佈:2018-12-26
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>