老师,关于HOC问您一下
来源:4-9 【高阶组件HOC】withAddToCart()

BigTree_
2021-01-09
<button onClick={addToCart}>Add Cart</button>
//转为
<button onClick={()=>props.addToCart(props.id,props.name)}>Add Cart</button>
1.老师这里为什么要加个lanmbda?
const addToCart = (id,name) => {
if(setState){
setState(state => {
return {
...state,
shoppingCart:{
items:[...state.shoppingCart.items,{id,name}]
}
}
})
}
}
2.老师addToCart函数中的id和name是通过哪里直接获得的?
写回答
1回答
-
阿莱克斯刘
2021-01-10
lamda只是匿名函数的表达方式而已,你也可以把它叫做箭头函数,当然也可以不用箭头而使用普通的function。这里有一篇关于es6箭头函数的文章,我觉得讲得挺好,可以学习一下:https://zhuanlan.zhihu.com/p/111757622
addToCart函数中的id和name是从组件参数props中来的,而props中的数据是从父组件中得到的。
012021-01-11
相似问题