以下内容摘自 React文档
何时使用 Refs
下面是几个适合使用 refs 的情况:
- 管理焦点,文本选择或媒体播放。
- 触发强制动画。
- 集成第三方 DOM 库。
避免使用 refs 来做任何可以通过声明式实现来完成的事情。
举个例子,避免在 Dialog
组件里暴露 open()
和 close()
方法,最好传递 isOpen
属性。
勿过度使用 Refs
你可能首先会想到使用 refs 在你的 app 中“让事情发生”。如果是这种情况,请花一点时间,认真再考虑一下 state 属性应该被安排在哪个组件层中。通常你会想明白,让更高的组件层级拥有这个 state,是更恰当的。查看 状态提升 以获取更多有关示例。
注意
下面的例子已经更新为使用在 React 16.3 版本引入的
React.createRef()
API。如果你正在使用一个较早版本的 React,我们推荐你使用回调形式的 refs。
摘这段内容是最近基本上是在重新学习React, 对Ref的使用还是停留在 16.3 以前的版本上。Play Demo
网友评论