reapp中的this.getDomNode()返回undefined

问题描述 投票:1回答:3

我刚开始使用reapp。我只是创建了一个应用程序创建应用程序后,我修改了默认的home.jsx,如下所示:

import { Reapp, React } from 'reapp-kit';

class Home extends React.Component {

  render() {
    return (
      <div className='map'></div>
    );
  }

  getDefaultProps() {
        return {
            initialZoom: 8,
            mapCenterLat: 43.6425569,
            mapCenterLng: -79.4073126,
        };
    }

  componentDidMount() {
    console.log('Dom node is ',this.getDomNode());
  }

}

export default Reapp(Home);

现在问题是this.getDomNode返回错误

Uncaught TypeError: undefined is not a function

有谁知道什么可能是错的?

javascript reactjs
3个回答
7
投票

您应该使用React.findDOMNode(this)而不是this.getDOMNode()which is deprecated in 0.13.0,并且不适用于扩展React.Component的类。


2
投票

你应该使用React.findDOMNode(this)而不是getDomNode

class Home extends React.Component {
  render() {
    return (
      <div className='map'></div>
    );
  }

  componentDidMount() {
    console.log('Dom node is ', React.findDOMNode(this));
  }
}

1
投票

那些正在寻找最新React的更新答案的人,就在这里。

React findDOMNode API已被移动到react-dom包中。你可以找到参考here

所以使用,

import ReactDOM from "react-dom";

ReactDOM.findDOMNode(component)

获得元素。

谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.