当前位置: 首页 > 知识库问答 >
问题:

对此作出0.13的反应。getDOMNode()等效于React。findDOMNode()

闻安宜
2023-03-14

这在React版本0.12中工作得非常好:

componentDidMount: function () {
    var dom = this.getDOMNode();
}

变量dom获取呈现组件的实际DOM节点。但是,将其转换为React 0.13并不像预期的那样工作:

componentDidMount: function () {
    var dom = React.findDOMNode();
    // dom is undefined
}

我尝试了React.findDOMNode(this),它也不起作用。基本上,我只是试图获取由渲染函数渲染的顶级dom节点,而不使用ref。这有可能吗?

共有3个答案

巫马盛
2023-03-14

React 15.0.1需要以下语法:ReactDOM. findDOMNode

例如

var x = ReactDOM.findDOMNode(this.refs.author);
曹焱
2023-03-14

请注意,作为反应v0.14

React.findDOMNode变为ReactDom.findDOMNode(this);其中

var ReactDom = require('react-dom');

如中所述https://facebook.github.io/react/blog/2015/10/07/react-v0.14.html

金承嗣
2023-03-14

更新REACTV0。14

在React v0.14中,这已经改变,您现在应该使用react-dom模块:

import ReactDOM from 'react-dom';

ReactDOM.findDOMNode(this);

ES6

class Test extends React.Component {
  componentDidMount() {
    const element = ReactDOM.findDOMNode(this);
    console.log(element);
    alert(element);
  }
  
  render() {
    return (
      <div>test</div>
    );
  }
}

ReactDOM.render(<Test />, document.getElementById('r'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.js"></script>
<div id="r" />
 类似资料:
  • 问题内容: 在React版本0.12中这可以很好地工作: 该变量获取渲染组件的实际DOM节点。但是,将其转换为React 0.13不能按预期工作: 我尝试了哪一种也不起作用。基本上,我只是试图在不使用ref的情况下获取render函数渲染的顶级dom节点。这可能吗? 问题答案: 更新React v0.14 + 在React v0.14 +中,这已经更改,您现在应该使用模块: ES6 ES5 Rea

  • 我正在调用react组件中的函数 在我的createComment函数中,“”未定义 我需要在createComment函数中调用this.setState。如何使成为组件的this??

  • 我在网上找不到任何关于这个话题的东西。有没有办法告诉你的机器人对旧消息做出反应?类似的东西: 1-烤面包机:嘿 2-乔纳森:!!反应 会让机器人对烤面包机说“嘿”做出反应吗?或者做一些更老的事情,比如对消息作出反应5条消息向上。我没有这方面的代码,但我知道不和谐。js很好,并且知道如何正常地向消息添加反应。

  • 标题说明了一切。我的问题是关于不同的字符串等价方法的效率。我经常使用<代码>。equalsIgnoreCase(String str),因为我对它很有兴趣。但我开始怀疑这是否是寻找字符串之间等价性的最有效方法。在我看来,正在调用一种大小写转换方法或,然后在其定义中调用,但我可能错了。那么,以下哪种方法在以下情况或任何情况下更有效?

  • 我有一个表单组件,它从其父级获取其状态。表单组件只呈现一些输入字段和其他字段。 父组件使用useReucer并将值向下传递给表单组件。 有两个父组件,一个允许用户使用表单创建,另一个允许他们编辑。 在编辑父组件中,我使用useEffect从api获取数据,并从服务器设置初始状态。 在开发构建中,当组件呈现时,有时会出现以下错误: 超过最大更新深度。当组件在componentWillUpdate或c

  • 太长,读不下去了如何模拟或使用带有数组的道具强制重置我的组件? 我正在实现一个组件,它显示一个计时器,并在达到零时执行回调。目的是让回调更新对象列表。后一个组件由新的React钩子和组成。 包含对计时器启动时间和剩余时间的引用。设置每秒钟调用一次的间隔,以更新剩余的时间,并检查是否应该调用回调。 该组件并不意味着重新安排计时器,或者在间隔达到零时保持间隔,它应该执行回调并空闲。为了让计时器刷新,我