我们正在研究一个项目,我们正在使用框,并且需要其中一个选择框来执行操作,当用户从列表中选择一个项目时。这是我们第一次接触React,更不用说建立一个项目了,所以我们在这一点上很难受。我们正在使用的的onChange代码如下:onChange无法在React中渲染
var React = require('react');
var ReactPropTypes = React.PropTypes;
var ProgramSelectorComponent = React.createClass({
propTypes: {
allPrograms: ReactPropTypes.array.isRequired
},
_updateProgram: function(e) {
this.setState({
value: "TEST"
});
},
render() {
var Programs = this.props.allPrograms;
var options = Programs.map(function (prog) {
return <option key={ prog.program_id } value={ prog.program_id } >
{ prog.program_name }
</option>;
});
return (
<select className="form-control margin-bottom" name="Program" id="programSelect" ref="progRef" onChange={this._updateProgram} >
<option value="select">Select</option>
{options}
</select>
)
}
});
module.exports = ProgramSelectorComponent;
我知道,呈现会在<select>
标签工作,因为我可以像data-test-id="test"
添加的东西,呈现正常,但由于某些原因,该的onChange不在代码中显示,因此不起作用。
就像我说的,我们都是新来的,所以任何帮助将不胜感激。
的'onChange'支撑将*不*显示在生成的HTML。从React到HTML没有1:1映射。在'_updateProgram'方法中添加'debugger'语句或'console.log(...)'调用时,它会被调用吗? –