【发布时间】:2017-07-22 09:15:10
【问题描述】:
我有一个简单的 onChange,它接受用户的输入解析它并将状态设置为呈现。这是代码。
import React, { Component } from 'react';
import './App.css';
class App extends Component {
constructor() {
super();
this.state = {
random: {
foo: 0
}
}
}
onChange(e) {
let random = this.state.random;
random[e.target.name] = parseFloat(e.target.value);
this.setState({random});
}
render() {
return (
<div className="App">
<input onChange={this.onChange.bind(this)} type="text" name="foo" value={this.state.random.foo} />
</div>
);
}
}
export default App;
我不明白我的小数点在哪里。我知道没有适当的验证来阻止用户输入字母,但这只是一个示例应用程序来测试我遇到的这个问题。当我输入小数点时不会呈现。我哪里错了?
【问题讨论】:
-
e.target.value在控制台中显示什么? -
解析前还是解析后?
-
好的,刚试了下就搞定了。当我只有 1. 我在控制台中看到 1. 而不是在屏幕上。当我写 1.2 时,我在控制台和屏幕上看到了 12。
标签: javascript reactjs parsefloat setstate