请问老师为何此处没有循环更新
来源:14-22 简易购物车的综合案例

Panda_io
2023-05-05
本节课计算总价时,在dom更新后执行了这个钩子函数,但是在钩子函数里又更新了dom为何没有造成死循环而是只调用了一次呀?
componentDidUpdate = () => {
this.computedAll()
}
computedAll = () => {
let all = 0;
this.state.list.filter((v)=> v.isActive).forEach((v)=>{
all += v.price * v.number;
})
this.setState({
all
});
}
写回答
1回答
-
西门老舅
2023-05-06
你好,componentDidMount是初始的钩子,当数据改变后,并不会再次触发这个钩子。
数据改变后,只会触发componentDidUpdate和render这两个钩子
022023-05-06
相似问题