【发布时间】:2018-11-02 16:37:38
【问题描述】:
我是 React 的菜鸟,正在尝试为水相制作一个简单的应用程序,用户输入一个数字,然后根据该值显示水的状态,例如,如果他输入 212,它应该说 gas 和 for 12 它应该说是可靠的,但由于某种原因它没有正确显示值,非常感谢任何帮助!!!
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
msg: "liquid",
temp: 0
};
this.handlenum1Change = this.handlenum1Change.bind(this);
}
handlenum1Change(evt) {
console.log(evt.target.value);
this.setState({
temp: Number(evt.target.value)
});
let temp = this.state.temp
if (temp > 100) {
this.setState({
msg: "boiling"
})
} else if (temp < 32) {
this.setState({
msg: "frozen"
})
} else {
this.setState({
msg: "liquid"
})
}
}
render() {
return (
<div>
<h1> {this.state.msg} </h1>
<form className="form-inline">
<div className="form-group">
<label> Temp: </label>
<input type="number" onChange={this.handlenum1Change} className="form-control" />
</div>
</form>
</div>
);
}
}
ReactDOM.render(
<App />,
document.getElementById("root")
);
<div id="root"></div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>
【问题讨论】:
-
欢迎来到 Stack Overflow!在寻求帮助时,请花时间以合理、一致的缩进来格式化您的代码,并且不要使用大量不必要的空格。 (当不寻求帮助时也是个好主意。)
-
感谢您在问题中包含所有必要的代码。如您所见,我更新了问题以使用 Stack Snippets(页面中类似于
<>的工具栏按钮)制作一个 可运行版本。 Stack Snippets 支持 React,包括 JSX; here's how to do one.
标签: javascript reactjs