xinconan / blog

闲谈
7 stars 0 forks source link

React在低版本移动端浏览器中获取不到ref的解决方法 #20

Open xinconan opened 5 years ago

xinconan commented 5 years ago

在使用ref的时,采用string的写法:

<Comp ref="myComp"/>

结果出现在低版本移动端浏览器中获取不到ref的情况(部分组件会出现,不是所有组件都有该问题),问题定位也花了不少时间,主要是在手机上难调试。

解决办法就是采用callback的写法:

<Comp ref={ref=>this.myComp=ref} />

后面看官方文档的时候,发现官方也推荐使用callback或者使用新的createRef API了:https://reactjs.org/docs/refs-and-the-dom.html