GAF
2017年09月04日 星期一
1.react加购物车防止连续点击
export function asynUpdateShoppingCart(id,amount,isChecked){
return (dispatch)=>{
dispatch(createFetchingToast())
dispatch(beginUpdateShoppingCart())
dispatch(shoppingCartDoubleClickTrue())
return api.asynGetUpdateShoppingCart(id,amount,isChecked)
.then(json=>{
console.log('单条更新购物车后返回的数据:',json)
dispatch(shoppingCartDoubleClickFalse())
if(json.status==0){
dispatch(successUpdateShoppingCart())
queryShoppingCartFunc(dispatch)
dispatch(dismissFetchingToast())
}else if(json.status==1 || json.status==-1){
dispatch(dismissFetchingToast(json.message))
dispatch(errUpdateShoppingCart())
// 更新库存
// 本地数据和服务器数据不一致时提示完毕后 更新库存 并发情况易发生 概率低
setTimeout(function(){
queryShoppingCartFunc(dispatch)
},1000)
.catch(err=>{
dispatch(errUpdateShoppingCart())
dispatch(addTimeoutFetchingToast(dispatch,err,'出错了,请再次操作!'))
dispatch(shoppingCartDoubleClickFalse())
})
}
}
function shoppingCartDoubleClickTrue(){
return{
type:SHOPPING_CART_DOUBLE_CLICK_TRUE
}
}
function shoppingCartDoubleClickFalse(){
return{
type:SHOPPING_CART_DOUBLE_CLICK_FALSE
}
}
2.new Date() ios不支持,兼容性问题
IOS5中的Safari能正确解析new Date()那么必须这么写new Date('2013/10/21'); 或者 var d = new Date(date);
d = d.getFullYear() > 0 ? d : new Date(Date.parse(date.replace(/-/g, "/")));
new Date(('2017-08-31 00:00:00').split('-').join('/')).getTime();
3.页面刷新的那么一瞬间样式会错乱,解决办法:在刚开始body{dipslay:none},执行到js后在onload中将display属性设置为block.