javascript - reactjs中两个数字相加
问题描述
我有两个输入框将用户输入作为数字并希望在 span 中显示他们的添加结果,但它们没有被添加,它们被附加。
This is my reactjs that i have tried:
class EssayForm extends React.Component {
constructor(props) {
super(props);
this.state = {
value:'',
fno:'',
sno:'',
};
this.handleSquareChange = this.handleSquareChange.bind(this);
this.handleTextChange = this.handleTextChange.bind(this);
this.handleTextLastChange = this.handleTextLastChange.bind(this);
this.handleSubmit = this.handleSubmit.bind(this);
}
handleSquareChange(event) {
this.setState({value: event.target.value});
}
handleTextChange(event) {
this.setState({fno: event.target.value});
}
handleTextLastChange(event) {
this.setState({sno: event.target.value});
}
handleSubmit(event) {
event.preventDefault();
alert("welcome");
}
render() {
return (
<div className="example">
<form onSubmit={this.handleSubmit}>
<span>Square of:</span>
<input type="text" value={this.state.value} onChange=
{this.handleSquareChange} />
<span>First no:</span>
<input type="text" value={this.state.fno} onChange=
{this.handleTextChange} />
<span>second no:</span>
<input type="text" value={this.state.sno} onChange=
{this.handleTextLastChange} />
<input type="submit" value="Submit" onClick={this.handleSubmit} />
</form>
<div className="preview">
<h1>Square of no is</h1>
<div>{this.state.value * this.state.value}</div>
</div>
<div className="preview">
<h1>Result of no is</h1>
<div>{this.state.fno + this.state.sno}</div>
</div>
</div>
);
}
}
ReactDOM.render(<EssayForm />, document.getElementById('app'));
我已经用一个输入框来计算一个数字,它可以正常工作但不能加法。任何人都可以让我知道我错在哪里。我是 reactjs 的新手。
解决方案
在您的州,您已将 sno 和 fno 定义为字符串。因此,当您为它们设置任何内容时,它们会将值设为字符串。您可以做的是通过将默认值 0 设置为 sno 和 fno 归档为数字。或者,您可以在添加之前将它们类型转换为数字。比如,(Number)this.state.fno + (Number)this.state.sno。
推荐阅读
- python - 我怎样才能使这个数学问题的代码更有效
- html - 是否可以在 css 中更改 JPG 图像的背景颜色?
- flutter - 如何更改 DartPad 用户界面?
- flutter - 错误:方法“DioHttpHeaders.add”的命名参数少于覆盖方法“HttpHeaders.add”的命名参数
- html - 赋予每个权限的 iframe 沙盒属性是否等同于不使用沙盒?
- node.js - 请求 nodejs 中的 Access-Control-Allow-Headers 不允许请求标头字段 access-control-allow-origin
- python - 导入时Python项目结构错误
- git - 在 TeamCity 构建中,尝试将更改推送回 GIT VCS
- python - Flask Login 登录后返回 302 状态码(不重定向到主页)
- postgresql - pgfutter 导入空行