出于某种原因,我无法使用React.findDOMNode函数.浏览器抱怨类型错误,说React.findDOMNode不是一个函数.这是发生这种情况的代码:
var React = require('react');
var Backbone = require('backbone');
var Car = require('models/car');
var NewCarForm = React.createClass({
handleSubmit: function(e) {
e.preventDefault();
var brand = React.findDOMNode(this.refs.brand).value.trim();
...
this.props.handleNewCar(new Car({brand: brand, model:model, name:name, kmTraveled:odometer, litresSpent:litres}));
return;
},
render: function() {
console.log("Inside NewCarForm");
return (
<form className="contentSection" onSubmit={this.handleSubmit}>
<input type="text" placeholder="Car Brand" ref="brand" />
...
<input type="submit" value="Post" />
</form>
);
}
});
module.exports = NewCarForm;Run Code Online (Sandbox Code Playgroud)
这是我尝试使用此功能的唯一模块.React的其余部分工作正常,所以我不知道这里可能出现什么问题.
jsx转换工具在以下行引发错误说'意外令牌:[':
this.setState({array[index]: value});
Run Code Online (Sandbox Code Playgroud)
显然我只想设置新的状态,但是这个错误迫使我写了一些解决方法.为什么变压器不接受上述线路?