请问大神们这种是什么写法呢 'delete'(state, { payload: id })
reducers: {
'delete'(state, { payload: id }) {
return state.filter(item => item.id !== id);
},
}
请问大神们这种是什么写法呢 'delete'(state, { payload: id })
reducers: {
'delete'(state, { payload: id }) {
return state.filter(item => item.id !== id);
},
}
等于以下写法:
reducers: {
'delete': function (state, _ref) {
var id = _ref.payload
return state.filter(function (item) {
return item.id !== id
})
}
}
叫参数解构
等于如下代码
reducers: {
delete:(state, { payload: id }) => {
return state.filter(item => item.id !== id);
},
}
// 相当于这个
reducers: {
'delete': function (state, data) {
let id = data.payload
return state.filter(item => item.id !== id);
},
}
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
{ payload: id }
是对象解构赋值,具体参考 解构赋值 MDN而
'delete'
仅仅是对象属性名,事实上,对象的所有属性名都会被转为String
如果你指的是
'delete'(state, { payload: id }) {}
这种函数写法的话,则可以参考 方法的定义 MDN