码迷,mamicode.com
首页 > 其他好文 > 详细

React Hook 下setState的回调

时间:2019-04-12 16:28:04      阅读:405      评论:0      收藏:0      [点我收藏+]

标签:方案   issues   报错   crt   function   this   开始   info   func   

背景: React 的hook出现了已经很长一段时间了,最近着手想把以前的reacrt16.5.0的代码换成hook的写法
Hook以前的写法:
     ex:
        

   getDataInfo(dataId) {
      this.set({
         dataId: dataId
      }, ()=>{
             setDatainfo(dataId);
      })
   } 
  setDatainfo (dataId) {
       .....xxxxxx
  }


原以为直接

function getDataInfo(props) {
   const [dataId, setDataId] = useState(‘‘);
   setDataId(dataId, ()=>{setDataInfo(dataId)});
}

然后报错了,不支持第二个参数;
在react官方git上搜罗了一下解决方案
https://github.com/facebook/react/issues/14174

Abramov 大神居然也回了,没必要使用的第二个参数,虽然各路大神都贴出了解决方案,但是跟着Abramov的思路应该没问题的;
忽然想到了useEffect;
于是动手开始实验:

       useEffect(()=>{
           setDataInfo(dataId);
        },[dataId]);

好简单的说.

 

 




React Hook 下setState的回调

标签:方案   issues   报错   crt   function   this   开始   info   func   

原文地址:https://www.cnblogs.com/Evan666Blog/p/10696660.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!