TSX中使用React函数组件时,调用useState的坑

TSX中使用React函数组件时,调用useState的坑

1.在函数组件中想要使用state,需要引入useState方法,但有时在点击方法中调用setXXX时会出现延迟更新,解决方法为先setXXX(’’/[]),即置空,再setXXX(‘自己所需的值’)即可。

2.在useEffect中setXXX后,在外面输出会有值,在useEffect内部输出为空

const [data, setData] = useState([]);
var arr = [];
useEffect(() => {
    axios.get('http://xxx').then(res=>{
      //console.log(res.data);
      var data = JSON.parse(res.data);
      for(var i=0;i<data.length;i++){
        var obj = {};
        ...
        arr.push(obj);       
      }
      setData(arr);
    }).catch(error=>{console.log(error)});
    }, []); 

  console.log(data); 
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值