相关文章推荐
React.forwardRef真是个好东西

React.forwardRef真是个好东西

5 年前

之前在 @Dell Lee 的一篇文章中看到说没有办法传递ref到一个functional stateless component,当时十分naive的项目中实验了一下,以为能够传递ref,结果发现是因为我的疏忽,这个组件上面还有一层HOC,而这个HOC不是functional stateless component我误以为能够传递ref。不过也在探讨过程中发现只要名字不是ref的话其实就可以通过props进行传递。


不过这一切都将成为历史,伟大的fb在react 16.3中新加了一个React.forwardRef函数使这一切变得非常符合我的口味!


  1. 子组件应该自我包装好,而不应该影响外界对于这个组件的通用认知。例如我写一个component,而这个component不能接收props,这种在我的编程美学中是难以接受的。
  2. HOC应该在不改变原组件暴露接口情况下装饰新的功能,或改变原有功能。例如我写一个Dialog Component,ref应该透过HOC传入到Dialog上,而不是在HOC上。
在functional stateless component中传递ref
在HOC中传递ref

这个新的api使我非常舒服。

经过这个api包装之后,ref再也不会难为人了。

发布于 2018-05-19 11:37
 
推荐文章