仅当输入的值与文本框中的先前值不同时,才必须进行API调用。我试图在下面的方法中使用三元运算符,这会引发编译错误。有人可以帮我吗。
我已经将serialNumber设置为“ serialNumber”:“”
App
一旦api调用完成,我将设置在props中输入的序列号,例如this.props.serialNumber将提供api调用所使用的序列号。现在,下次我只想在用户输入其他值时调用API。
答案 0 :(得分:1)
在这种情况下,您实际上不需要三元运算符:
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)
}
答案 1 :(得分:0)
您可以通过执行以下操作来实现。 还为this.input.value添加了null / undefined检查
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);}
)}
}