json - React js关于更新状态值的问题
问题描述
我只是 React 的新手,我正在尝试制作一个表单,提交时我调用了一个函数“handleSubmit”,它将所有信息保存到状态中,然后将其显示到网格中,但它对某些人不起作用原因。我真的需要你的帮助:这是我的代码:
export default class products extends React.Component {
constructor() {
super();
this.handleSubmit = this.handleSubmit.bind(this);
this.state =
{
QrCode: ''
}
}
handleSubmit(event) {
event.preventDefault();
const data = new FormData(event.target);
data.set('username', data.get('username').toUpperCase());
this.setState({QrCode: data});
console.log(this.state);
}
render() {
return (
<div >
<div >
<form onSubmit={this.handleSubmit}>
<label htmlFor="username">Enter username</label>
<input id="username" name="username" type="text" />
<button>Send data!</button>
</form>
</div>
<div style={{margin: '10%', marginTop : '5%'}}>
<GridComponent dataSource={this.state} />
</div>
</div>
);
}
}
我得到了什么: 我不断得到空数组
谢谢。
解决方案
在 React 中,您不需要使用表单从输入中获取值。
export default class App extends React.Component {
constructor() {
super();
this.state = {
userName: ""
};
}
render() {
return (
<div className="App">
<label htmlFor="username">Enter username</label>
<input
value={this.state.userName}
onChange={e => this.setState({ userName: e.target.value })}
name="username"
type="text"
/>
<button
onClick={() => {
alert(this.state.userName);
}}
>
Send data!
</button>
</div>
);
}
}
希望对你有帮助!
推荐阅读
- python - 使用 Python 3 进行网页抓取
- angularjs - AngularJS 1.7 中用于过滤的函数没有“this”上下文
- python - 如何使用正确的 MIME 类型和 sRGB 颜色配置文件将 numpy.ndarray 保存为 cv2 或 PIL 中的图像?
- postgresql - Postgres(OperationalError('SSL SYSCALL 错误:检测到 EOF\n')
- google-sheets - 创建一个数据透视表,其中结果列是原始列和行的乘积?
- javascript - 具有动态数组长度的 React 钩子
- c++ - 无法理解如何在类中存储 log4cpp 记录器的实例
- fabricjs - FabricJS,如何在fabric js中实现触摸控制
- java - 通过 SocketChannel 读取(写入)的正确方法
- python - 数据框中的动态正则表达式