javascript - 如何在reactjs中设置状态时使用三元运算

标签 javascript reactjs

仅当输入的值与文本框中先前的值不同时,我才必须进行 API 调用。我试图在下面的方法中使用三元运算符,该方法会引发编译错误。有人可以帮助我吗?

我已经将状态中的序列号设置为“serialNumber”:“”

updatePartSerialNumberDummy(){
        this.setState(
            {
                serialNumber: this.input.value
            }, () => {this.props.getPartSerialNumberDetails(this.props.serviceProviderId,this.props.serviceProviderLocationId, this.state.serialNumber);}
        )}

一旦 api 调用完成,我将设置在 props 中输入的序列号,如 this.props.serialNumber 将给出 api 调用所使用的序列号。现在,下次我只想在用户输入不同的值时调用 API。

最佳答案

在这种情况下,您实际上不需要三元运算符:

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)
}

关于javascript - 如何在reactjs中设置状态时使用三元运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57365349/

相关文章:

reactjs - 如何使用apollo Reactjs客户端刷新firebase IdToken

reactjs - 使用 ReactJS 列出文件夹内容

Javascript 用 jQuery 函数替换函数

javascript - 检测组合按键(Control、Alt、Shift)?

javascript - date.toLocaleString 有错误吗?

javascript - 如何清除从 JQuery.HTML() 检索到的 javascript 对象

javascript - jQuery 中的子类化

javascript - 如何将元素附加到要在 react 中呈现的变量

javascript - 如何在 react-native 中按下按钮时将按钮的当前图像更改为另一个图像

javascript - 用 flask 后端 react 路由器