使用react時,我想要讓子組件去觸發更新父組件的state,我將setState方法寫在了父組件中,然后通過props向子組件中傳遞了這個方法,然后在子組件中通過綁定onClick事件觸發this.props中傳遞進來的方法。在函數內部,我發現給this.props傳進來的方法使用call(this)時與不使用call,結果居然一樣。不是很明白為什么,通過綁定call之后,作用域應該已經改變了,并且是this指向子組件,但實際上指向的還是父組件。百思不得其解,求大神指教?。。。?!代碼:這是綁定了call方法的不綁定call的,就是將子組件中的showMsg方法的call方法去掉changeMsgChild() { console.log("-- changeMsgChild_this --", this); this.props.showMsg(this);}最后其結果是一樣的,都可以正常執行,而且都能改變父組件的state
React子組件想要改變父組件的state,子組件中的兩種寫法為什么都能生效?
吃雞游戲
2018-10-19 14:11:48