[英]React - check if a object is in state variable
我有一個狀態變量,它是一個對象(稱為testObject)。 我在該狀態變量中存儲了幾個對象。 我正在尋找一種檢查對象的狀態變量中是否存在的方法,如果為true,則將其刪除。
總結一下困境:
如果為false =>將對象添加到testObject
類Connector擴展Component {
constructor(props) { super(props); this.state=({ testObject: {}, }); console.log(this.props); }
}
如何切換狀態?
this.setState(prevState => ({
testObject: {
...prevState.testObject,
someProperty: !prevState.testObject.someProperty
}
}))
您可以通過以下方式進行檢查:
if (this.state.testObject.hasOwnProperty(property_name))
delete this.state.testObject.property_name
else {
var testObject = this.state.testObject
testObject[property_name] = some_value
this.setState({testObject: testObject})
}
如果存在,此代碼將從狀態中刪除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中,則它將刪除它,否則它將obj
插入testObject中。
假設有問題的對象在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}
})
}
使用if語句檢查對象是否存在。
if(this.state.objectName)
delete this.state.objectName
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.