2017-03-22 23 views
1

假設我有兩個React組件ParentChild,它們都是由Mobx管理的某個狀態的@observer。如果孩子在componentWillReceiveProps()中使用Mobx值以外的渲染方法,該值/可觀察值是否會被父組件的渲染autorun跟蹤?Mobx @observer組件和自動運行呈現

感謝

回答

2

沒有,除非值由父讀取和道具值傳遞給孩子

+0

好吧。如果子組件不是'@ observer'類呢? Mobx'autorun'如何知道父級的渲染方法何時完成?這些子方法不是父級渲染的同步部分嗎? – boom

+0

不,他們不是,所以經驗法則是:不要將觀察者傳遞給非觀察者組件。相反,將它們轉換爲父級渲染中的普通對象(使用切片或mobx.toJS等) – mweststrate

+0

對不起,你能解釋一下這個,我有點失落。你說他們不是snyc,但隨後聽起來像建議,以避免它。如果一個非觀察對象的孩子碰巧使用了可觀察的事物,那麼這個可觀察對象可能會被附加到父母的自動運行中?我只想更好地理解它是如何工作的。感謝您的幫助! – boom

0

不,不會。 Mobx只負責更新存儲和佈線以及組件的存儲數據。除非您將數據傳遞給子組件