J'ai un composant de réaction que j'injecte un magasin de Mobx. Lorsque j'essaie d'accéder à un observable de mon magasin à l'intérieur d'une méthode de cycle de vie (componentWillMount ou componentDidMOunt), la valeur est vide. Cependant, lorsque j'y accède à l'intérieur de la méthode de rendu, il est disponible. Y a-t-il quelque chose qui me manque? J'ai l'impression de manquer quelque chose de fondamental ici.Le magasin mobx n'est pas accessible à l'intérieur des méthodes du cycle de vie?
1
A
Répondre
1
The documentation indique clairement que observer
de mobx-react
pistes observables seulement dans la méthode de rendu du composant enveloppé.
Fonction (décorateur) qui convertit une définition de composant React, React classe de composants ou de rendre autonome la fonction dans un composant réactif, qui suit qui observables utilisées par le rendu et un nouveau rendu automatiquement le composant lorsque l'une de ces valeurs change .
Si vous jetez un oeil à observer
sources vous pouvez confirmer qu'il ne render pistes
Ma compréhension: MOBX observera des changements de méthode dans les observables accessibles rendre et exécuter rendent si les changements de valeur. Bien que la valeur de observable soit disponible dans les méthodes du cycle de vie, elle ne surveille pas les changements dans ces observables, de sorte que le rendu ne se produira pas lors du changement de valeur. – vijayst
Oui. Ça a du sens. Je suppose que je place une nouvelle valeur dans l'arbre un peu et que mon composant enfant a déjà été rendu avant que ma valeur ne soit définie. Je vais explorer cela un peu plus. – archae0pteryx
utilisez-vous les fixations mobx-react? voir https://github.com/mobxjs/mobx-react –