亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在reactjs中設置狀態時使用三元操作

如何在reactjs中設置狀態時使用三元操作

千萬里不及你 2021-09-04 17:43:40
僅當輸入的值與文本框中的先前值不同時,我才必須進行 API 調用。我試圖在下面的方法中使用三元運算符,這會引發編譯錯誤。有人可以幫我嗎。我已經將狀態中的 serialNumber 設置為 "serialNumber" : ""updatePartSerialNumberDummy(){        this.setState(            {                serialNumber: this.input.value            }, () => {this.props.getPartSerialNumberDetails(this.props.serviceProviderId,this.props.serviceProviderLocationId, this.state.serialNumber);}        )}一旦 api 調用完成,我將設置在道具中輸入的序列號,如 this.props.serialNumber 將給出 api 調用所使用的序列號?,F在下次我只想在用戶輸入不同的值時調用 API。
查看完整描述

2 回答

?
三國紛爭

TA貢獻1804條經驗 獲得超7個贊

在這種情況下,您實際上不需要三元運算符:


updatePartSerialNumberDummy(){

   if(this.input.value === this.props.serialNumber) return null

   this.setState(

            {

                serialNumber: this.input.value

            }, () => {this.props.getPartSerialNumberDetails(this.props.serviceProviderId,this.props.serviceProviderLocationId, this.state.serialNumber);}

        )}

}

但是你可以像這樣實現它:


updateWithternaryOperator(){

    this.setState({

        value : input !== 2 ? null : input

    },() => input !== 2 ? null : doSomethingCaseValueIs2)

}


查看完整回答
反對 回復 2021-09-04
?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

你可以通過做這樣的事情來實現這一點。還為 this.input.value 添加了空/未定義檢查


updatePartSerialNumberDummy(){

   if(this.input.value && (this.input.value !== this.props.serialNumber)){

        this.setState(

            {

                serialNumber: this.input.value

            }, () => {this.props.getPartSerialNumberDetails(this.props.serviceProviderId,this.props.serviceProviderLocationId, this.state.serialNumber);}

        )}

}


查看完整回答
反對 回復 2021-09-04
  • 2 回答
  • 0 關注
  • 203 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號