第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何更改類組件中的狀態(tài)?

如何更改類組件中的狀態(tài)?

慕桂英546537 2021-10-29 16:07:01
我無法更新狀態(tài)值。以及如何使用當(dāng)前狀態(tài)值加載文本字段?請(qǐng)參閱以下內(nèi)容:class Form extends React.Component{constructor(props){    super(props);    this.state = {      user: '',      firstName: '',      lastName: '',      email: ''    }  } handleChange(field, e){                let fields = this.state.fields;    fields[field] = e.target.value;            this.setState({fields});  }  componentDidMount() {  axios.all([      axios.get(config.getUser),      axios.get(config.getFullName).catch(function() { return false})    ])    .then(axios.spread(function (user, fullName) {      console.log("USER: ", this.state.user)      console.log("FULLNAME: ", this.state.fullName)      var number = user.data.number;      var firstName = user.data.firstName;      var lastName = user.data.lastName;      if (number !== undefined) {        this.setState({user: number})        console.log("NUMBER: ", this.state.user) ==> doesn't print      }      if (fullName !== false || firstName !== undefined) {        this.setState({firstName: firstName});         console.log("GET firstName: ",  this.state.firstName);  ==> doesn't print        this.setState({lastName: lastName});        console.log("GET lastName: ",  this.state.lastName);      }      })) } render() {  console.log("STATE: ", this.state)    return (        <div>        <form name="form" onSubmit= {this.formSubmit.bind(this)} style={{minWidth: '515px'}}>             <Header title="Request" />            <Paper style={styles.paperRequestForm}>                <Grid container>                    <TextField                        required                        name="number"                        type="text"......這是回應(yīng):用戶:對(duì)象{編號(hào):“541”}全名:對(duì)象{“firstName”:“Dee”,“l(fā)astName”:“Williamson”}STATE:Object { user: "", firstName: "", lastName: "" } ===> 狀態(tài)不會(huì)改變。
查看完整描述

3 回答

?
RISEBY

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超5個(gè)贊

setState() 是異步的,您無法立即獲得更新的值。您應(yīng)該使用任何其他生命周期事件(componentWillUpdate() 或在 render() 中),或者您可以將回調(diào)傳遞給 setState(),如下所示:


      if (number !== undefined) {


        this.setState({user: number}, ()=> console.log("NUMBER: ", this.state.user))

      }

      if (fullName !== false || firstName !== undefined) {


        this.setState({firstName: firstName}, ()=>console.log("GET firstName: ",  this.state.firstName); ); 

        this.setState({lastName: lastName}, ()=> console.log("GET lastName: ",  this.state.lastName));

        ;

      } 


查看完整回答
反對(duì) 回復(fù) 2021-10-29
  • 3 回答
  • 0 關(guān)注
  • 163 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)