鍍金池/ 問(wèn)答/HTML/ 如何通過(guò)this.refs['xx'],觸發(fā)子組件更新

如何通過(guò)this.refs['xx'],觸發(fā)子組件更新

有一個(gè)父組件,在render中循環(huán)了N個(gè)子組件,每一個(gè)子組件上面都有一個(gè)唯一的ref,第一個(gè)子組件改變時(shí),會(huì)回調(diào)父組件的change方法,在父組件中可以獲得后一個(gè)組件,如this.refs['2nd'],現(xiàn)在想通過(guò)this.refs['2nd']改變組件數(shù)據(jù),使得后一個(gè)組件進(jìn)行更新。有沒(méi)有相應(yīng)的方法,促使后一個(gè)組件進(jìn)行更新,因?yàn)闊o(wú)法更改后一個(gè)組件props,所以不知道怎么弄了。

所以就是,下拉框級(jí)聯(lián)效果,用一個(gè)組件把級(jí)聯(lián)的幾個(gè)下拉框都做好關(guān)聯(lián),業(yè)務(wù)都寫(xiě)在這個(gè)組件里面,因?yàn)闊o(wú)法使用react常用的那種antd級(jí)聯(lián),只能這么做,有什么好的方法嗎?

回答
編輯回答
溫衫

最后還是沒(méi)用refs,還是改變父組件的state,子組件自己去更新數(shù)據(jù)

2018年2月14日 10:26
編輯回答
萌面人

redux或者lifting state up,你這個(gè)ref的邏輯閱讀起來(lái)有點(diǎn)反模式,而且極容易出BUG

2017年5月21日 21:19
編輯回答
網(wǎng)妓

通過(guò)this.refs['2nd']操作了,數(shù)據(jù)和dom就不同步了
最好還是修改props,找到下一項(xiàng)的數(shù)據(jù),進(jìn)行更改

2018年2月28日 11:18