【筆記】react修改state中某一對象的某一屬性值

場景描述:頁面有input框,輸入值改變state中testData.name
代碼舉例如下:

	{/*html部分*/}
	<Input onChange={this.textChange('name')}  placeholder='請輸入新的姓名' value={this.state.testData.name}/>
	//state中的數據
	this.state={
            testData:{     //測試數據
                name:'張三',
                sex:'男',
                age:'20',
            },
        }
	//輸入框的值發生改變執行的方法
    textChange=(itemName)=>{
        return (e)=>{
            let newTestData=Object.assign(this.state.testData,{[itemName]:e.target.value});   //用新的值覆蓋原來的值
            this.setState({
            	testData:newTestData
        	})
        }
    };

Object.assign() 方法用於將所有可枚舉屬性的值從一個或多個源對象複製到目標對象。它將返回目標對象。
Object.assign(目標對象,源對象)
如果目標對象中的屬性有與源對象 相同的鍵,則屬性將被 源對象 中的屬性 覆蓋

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章