这是声明:
default:
const { productId } = action
if (productId) {
return {
...state,
[productId]: products(state[productId], action)
}
}
return state
来源:https://codesandbox.io/s/github/reactjs/redux/tree/master/examples/shopping-cart(src / reducers / products /-第26行)
这是我到目前为止所了解的:
第26行:如果不符合情况RECIEVE_PRODUCTS,则执行双点之后的内容。
第27行:将const productId设置为等于addToCart操作继承的action.productId。
第28行:如果存在action.productId,则在大括号之间执行该语句。
第29行和第30行:返回状态的不变属性。
第31行:?
第32-34行:否则,返回状态不变。
答案 0 :(得分:0)
[productId]: products(state[productId], action)
正在将products(state[productId], action)
的结果分配给值为productId
的键。
通过示例更容易解释:
const a = 'foo';
const b = 'bar';
const obj = {
[a]: a,
b: b
}
console.log(obj);