采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
updateModel 这里函数里,只传递了一个 value,是怎么知道要更新到 cardItem 上的呢?
过程:
1、const updater = updateItem('price', 100); 等价于
const updater = produce((draft) => { draft['price'] = 100; });
2、udpater是什么?
immer的produce支持两种模式:普通模式和柯里化模式,
普通模式
const nextState = produce(cardItem, (draft) => { draft.price = 100; });
柯里化模式:
返回值:
(draft: T) => T // 其中 T 是与传入状态结构兼容的对象类型
因此将 updater 传入到setCardItem中,setCardItem(updater) 等价于
setCardItem((cardItem) => { // ...... immer 做了一些操作 // 返回cardItem return cardItem; });
登录后可查看更多问答,登录/注册
React是进入前端岗位必会技术,会React19竞争力更强,薪资更高
81 3
21 2
54 2
68 2
20 1
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号