我非常清楚地加载和使用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
被分离到另一个软件包,并且鉴于findDOMNode
是ReactDOM
的一部分,因此要在组件中使用它,您必须包括它。例如:
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/