使用参数设置状态

时间:2018-10-19 09:11:10

标签: javascript reactjs

目前,对于我的验证,我对每个文本字段都有单独的检查功能。我想做一个具有两个参数的通用函数。文本值的状态和错误状态。我使用错误状态来检查哪个文本字段需要某种样式。

我当前的验证:

handelNameError = () => {
    if(!this.state.name){
        this.setState(() => ({nameError: true}));
        return false;
    }else{
        this.setState(() => ({nameError: ""}));
        return true;
    }
};

我想要一个这样的功能:

handelNameError = (state, stateError) => {
    if(!state){
        this.setState(() => ({stateError: true}));
        return false;
    }else{
        this.setState(() => ({stateError: ""}));
        return true;
    }
};

,然后调用如下函数:

 const result = this.handleNameError(this.state.name, this.state.nameError)

但是,当然,如果我这样做this.state.nameError不会更新为true。反正有做到这一点吗?

编辑:

我已经尝试过这样做:

handelNameError = (state, stateError) => {
if(!state){
    this.setState(() => ({[stateError]: true}));
    return false;
}else{
    this.setState(() => ({[stateError]: ""}));
    return true;
}

};

但这不会更改nameError的状态。

0 个答案:

没有答案