没有定义ReactDOM(但是在React方法中)

时间:2016-04-19 09:54:32

标签: javascript reactjs touchstone.io

我非常清楚地加载和使用React直到无法找到它。

import React from 'react';
import ReactDOM from 'react-dom';
import Container from 'react-container';
import { UI } from 'touchstonejs';
import VoteContainer from '../components/vote-container.js';
import Solution from '../components/solution.js';
import moment from 'moment';

module.exports = React.createClass({
  addSolution () {
    var solution = ReactDOM.findDOMNode(this.refs.solution).getElementsByTagName('input')[0].value,
                     ^~~~ ReactDOM is not defined

但是!运行addSolution后,React和ReactDOM无法访问。这个变量如何突然丢失?我可以做些什么来失去它?

这是在此课程中调用它的按钮'渲染方法..

<UI.Button type="primary" onTap={this.addSolution} >
  Send
</UI.Button>

1 个答案:

答案 0 :(得分:2)

由于v0.14ReactDOM被分隔到另一个包,并且findDOMNodeReactDOM的一部分,为了在您的组件中使用它,您必须包含它。例如:

import React from 'react';
import ReactDOM from 'react-dom';

/* ... */

module.exports = React.createClass({
  addSolution: function() {
    ReactDOM.findDOMNode(...)
  }
})