我非常清楚地加载和使用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。这个变量如何突然丢失?我会怎么做才能失去它?

这是在此类的render方法中调用它的按钮。
<UI.Button type="primary" onTap={this.addSolution} >
  Send
</UI.Button>

最佳答案

由于 v0.14 ReactDOM被分离到另一个软件包,并且鉴于findDOMNodeReactDOM的一部分,因此要在组件中使用它,您必须包括它。例如:

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

/* ... */

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

关于javascript - 未定义ReactDOM(但在React方法中),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36714897/

10-09 23:36