3

我不太确定这个问题是否有真正的答案,但我想知道是否最好通过使用在 React 应用程序中找到常规 DOM 元素

一种。refs 和 ReactDOM.findDOMNode

或者

湾。普通的旧 document.getElementById

4

3 回答 3

5

我更喜欢 refs 的模式,因为它会鼓励您不要向元素添加 ID,因此允许您在单个页面上使用 react 组件的多个实例。react 中的 ref 功能将为您提供由该组件的特定实例渲染的元素,而不是来自任何重复渲染的元素。

于 2016-04-05T01:25:34.583 回答
1

我真的不知道你在问什么。如果您问的是速度,getElementById() 在现代浏览器中是 O(1)。然而,使用这样的 DOM 方法有一个缺点,就是会穿透 React 提供的抽象。

于 2016-04-05T01:35:45.850 回答
0

您创建了多个具有相同 ID 的对象。当任何组件请求 ID 为 myInput 的元素时,浏览器将返回第一个元素

https://www.andrewhfarmer.com/use-refs-not-ids/

于 2017-10-27T10:55:12.470 回答