第三个 case 代码段, case COMPELETE_TODO 这块, 第一个return是当满足条件时返回出相应的内容, 第二个return在一个对象的todos属性后面出现的, 我就不太理解了,望热心的朋友指点迷津,谢谢你. function todoApp(state = initState,action){ switch(action.type){ //改变state的filter,现实现实全部、完成、未完成的选择 case SETFILTER: return Object.assign({},state, {filter:action.filter} ); //添加todo case ADD_TODO: return Object.assign({},state, { todos:[...state.todos,{ text:action.text, complete:false }] } ); //将对应index的任务变为完成状态 case COMPELETE_TODO:return Object.assign({},state,{ todos:return [ ...state.slice(0, parseInt(action.index)), Object.assign({}, state[action.index], { completed: true }), ...state.slice(parseInt(action.index)+ 1) ]; } ); default: return state; } }
Smart猫小萌
相关分类