一直弹出 Warning: Maximum update depth exceeded. This can happen when a component calls setState inside

react项目经典报错 , 且一直弹出
Warning: Maximum update depth exceeded. This can happen when a component calls setState inside useEffect, but useEffect either doesn't have a dependency array, or one of the dependencies changes on every render


原因 : 因为用useEffect监听的依赖项在每次渲染时都变化 , 触发了无限更新 , 也就是useEffect监听的依赖项和useEffect的内容不符 !!!
 

  useEffect(() => {
    if (isSelectAll) {
      setSelectedRowKeys(data.map(item => item.key))
    } else {
      setSelectedRowKeys([])
    }
  }, [selectedRowKeys])   // 写太快了,监听的依赖项写错了,应该是监听isSelectAll


就解决问题了
 

  useEffect(() => {
    if (isSelectAll) {
      setSelectedRowKeys(data.map(item => item.key))
    } else {
      setSelectedRowKeys([])
    }
  }, [isSelectAll])

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值