我有一个状态变量,它是一个对象(称为testObject)。我在该状态变量中存储了几个对象。我正在寻找一种检查对象的状态变量中是否存在的方法,如果为true,则将其删除。
所以总结一下困境:
如果为false =>将对象添加到testObject
class连接器扩展了组件{
constructor(props) {
super(props);
this.state=({
testObject: {},
});
console.log(this.props);
}
}
答案 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