老师,关于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

  1. lamda只是匿名函数的表达方式而已,你也可以把它叫做箭头函数,当然也可以不用箭头而使用普通的function。这里有一篇关于es6箭头函数的文章,我觉得讲得挺好,可以学习一下:https://zhuanlan.zhihu.com/p/111757622

  2. addToCart函数中的id和name是从组件参数props中来的,而props中的数据是从父组件中得到的。

    //img.mukewang.com/szimg/5ffa2cce09c159be20340792.jpg

0
1
BigTree_
明白了 老师 十分感谢
2021-01-11
共1条回复

React18 系统精讲 结合TS打造旅游电商平台

React18 精讲 + 结合 TS 实战 + 热门业务开发,获取必备技能

1993 学习 · 1015 问题

查看课程