2017-03-22 1 views
1

Disons que j'ai deux composants ReactParent et Child qui sont les deux @observer s de un état géré par Mobx. Si l'enfant utilise une valeur Mobx en dehors de sa méthode de rendu, dites dans componentWillReceiveProps() cette valeur/observable sera-t-elle suivie par le rendu du composant parent autorun?composants MOBX de @observer et autorun rend

Merci

Répondre

2

Non, à moins que la valeur est lue par le parent et passer la valeur comme accessoire à l'enfant

+0

Ok, bien. Que faire si le composant enfant n'est pas une classe '@ observateur'? Comment Mobx 'autorun' sait quand la méthode de rendu du parent est terminée? Ces méthodes enfants ne sont-elles pas une partie synchrone du rendu du parent? – boom

+0

Non, ils ne sont pas, donc la règle de base est: ne pas passer des observables à des composants non-observateur. Au lieu de cela, les convertir en objets simples dans le rendu parent (tranche usiing, ou mobx.toJS etc) – mweststrate

+0

Désolé vous pouvez expliquer cela un peu plus, je suis un peu perdu. Vous avez dit non, ils ne sont pas snyc mais suivis par ce qui semblait être un conseil pour l'éviter. Si un enfant non-observateur arrivait à utiliser une observable, cette observable pourrait devenir attachée à l'autorun du parent? Je voudrais juste mieux comprendre comment cela fonctionne. Merci de votre aide! – boom

0

Non il ne sera pas. Mobx s'occupe uniquement de la mise à jour des magasins et du câblage et des données du magasin avec le composant. sauf si vous transmettez les données au composant enfant