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>