gpt4 book ai didi

javascript - React 中的输入字段没有变化(受控输入)

转载 作者:行者123 更新时间:2023-11-28 05:09:37 24 4
gpt4 key购买 nike

如果没有 this.updateEmail.bind(this) 上的 bind.(this),输入字段值会发生变化,但我收到错误消息,说无法设置 undefind 的 this.setState。所以我添加了 .bind(this) 但它根本不起作用..有点困惑

import React, { Component } from 'react';
import Request from 'superagent';

class App extends Component {
constructor(){
super()
this.state = {
email: 'asdf',
password: ''
}
}
updateEmail(e){
this.setState={
email: e.target.value
}
}
createUser(e){
var query = 'star';
e.preventDefault()
console.log(this.state.email)
var url = `http://www.omdbapi.com?s=${query}&y=&r=json&plot=short`;
Request.get(url).then((response) => {
console.log(response)
this.setState({
movies: response.body.Search,
total: response.body.totalResults
});
});
}
render() {
return (
<div className="App">
<div className="App-header">
<form onSubmit={this.createUser.bind(this)}>
<input type="text"
name="email"
onChange={this.updateEmail.bind(this)}
value={this.state.email}
placeholder="email"/>
<br/>
<input type="text"
name="password"
value={this.state.password}
onChange={this.updatePassword}
placeholder="password"/>
<br/>
<input type="submit" value="submit"/>
</form>
</div>
</div>
);
}
}

export default App;

最佳答案

setState 是一个函数,您应该这样调用它:

this.setState({ foo: 'bar' });

关于javascript - React 中的输入字段没有变化(受控输入),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41477067/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com