反应-检查对象是否处于状态变量

时间:2018-11-29 07:57:54

标签: javascript reactjs

我有一个状态变量,它是一个对象(称为testObject)。我在该状态变量中存储了几个对象。我正在寻找一种检查对象的状态变量中是否存在的方法,如果为true,则将其删除。

所以总结一下困境:

  • 检查对象中是否已经存在对象
  • 如果为true =>删除该对象
  • 如果为false =>将对象添加到testObject

    class连接器扩展了组件{

    constructor(props) {
        super(props);
        this.state=({
            testObject: {},
        });
    
        console.log(this.props);
    }
    

    }

5 个答案:

答案 0 :(得分:0)

如何切换状态?

Transform

答案 1 :(得分:0)

您可以通过以下方式进行检查:

var text = 'Test 123';
var post = text.split('');
var words = [];

function wrapText() {
  var w = 0;
  for (var i = 0; i < post.length; i++) {
    if (/[a-zA-z]/.test(post[i])) {
      if (/[^a-zA-z]/.test(post[i - 1]) && /[^a-zA-Z]/.test(post[i + 1])) {

        words[w] = post[i];
        w++;

      } else {
        var com = words[w];

        if (typeof com === 'undefined') {
          com = '';
        }

        words[w] = com + post[i];

        if (/[^a-zA-Z]/.test(post[i + 1])) {
          w++;
        }
      }
    } else {
      words[w] = post[i];
      w++;
    }
  }

  console.log('result:', words);
}

wrapText();

答案 2 :(得分:0)

此代码将从状态中删除testObject键。

假设obj是您要删除/添加的对象。

let newState = this.state.testObject

if (this.state.testObject.obj) {
    delete newState["obj"]
} else {
    newObject["obj"] = "value"
}

this.setState({ testObject: newState })

如果obj存在于testObject中,则它将删除它,否则它将在testObject中插入obj

答案 3 :(得分:0)

让我们说有问题的对象在testObject中,键为obj,传入的var为newTestObj。

然后我们将检查

if(this.state.testObject && this.state.testObject.obj) {
   let tempObj = this.state.testObject;
   delete tempObj.obj;
   this.setState({
      testObject: tempObj
   })
}else {
  this.setState({
      testObject: {...testObject, obj: newTestObj.obj}
   })
}

答案 4 :(得分:-1)

使用if语句检查对象是否存在。

if(this.state.objectName)
  delete this.state.objectName