reapp中的this.getDomNode()返回undefined

时间:2015-04-21 12:19:14

标签: javascript reactjs

我刚开始使用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

有没有人知道可能出错的地方?

3 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分: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));
  }
}

答案 2 :(得分:1)

那些正在寻找最新React的更新答案的人就来了。

反应 findDOMNode API已移至react-dom包中。您可以找到参考文献here

请使用

import ReactDOM from "react-dom";

ReactDOM.findDOMNode(component)

获取元素。

谢谢。