请问老师为何此处没有循环更新

来源: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这两个钩子

0
2
西门老舅
回复
Panda_io
没事没事,有问题留言就好
2023-05-06
共2条回复

Vue3 + React18 + TS4入门到实战 系统学习3大热门技术

专为初级前端人员设计,系统性学习三大技术

261 学习 · 182 问题

查看课程