我在嘗試什么?
嘗試在狀態中設定輸入型別文本的值
到目前為止我搜索了什么?

成分
import React from 'react';
class Login extends React.Component {
constructor(props) {
super(props);
this.state = {email: ""};
}
setEmailVal(val) {
this.setState({email: val.currentTarget.value});
}
render() {
return (
<input type="text" onChange={this.setEmailVal} value={this.state.email} />
);
}
}
export default Login;
uj5u.com熱心網友回復:
如果您以下列方式宣告您的函式
setEmailVal = val => {
this.setState({email: val.currentTarget.value});
}
它作業正常。
如果您希望以另一種(舊的,如果我沒有錯的話)方式進行操作,那么您需要將函式系結到子組件的類,即類中的 onChange 處理程式以“查看”它:
constructor(props) {
super(props);
this.state = {email: ""};
this.setEmailVal = this.setEmailVal.bind(this);
}
最后,您可以在回傳組件本身內進行直接系結
return (
<input type="text" onChange={this.setEmailVal.bind(this)} value={this.state.email} />
);
uj5u.com熱心網友回復:
您可以通過更改setEmailVal為箭頭函式來解決此問題。
應該是這樣的:
setEmailVal = e => {
this.setState({email: e.currentTarget.value});
}
看看這個關于這一主題的更多資訊。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/333510.html
標籤:反应
