2017-06-05 2 views
1

J'essaie de réagir avec MobX.MobX React TypeError: Impossible de lire la propriété de undefined

J'ai défini fetchSources() dans mon magasin. Si je mets ce qui suit au niveau le plus élevé du composant, cela fonctionne très bien.

componentWillMount() { 
    this.props.store.fetchSources() 
    } 

Mais si je mets le même code ci-dessus dans le composant de niveau de l'enfant qui est également défini comme un observateur il me donne l'erreur suivante. TypeError: Impossible de lire la propriété 'fetchSources' de undefined.

Une idée sur la façon de le réparer?

Mise à jour:

Tholle est correcte. Le problème est résolu en passant le magasin au composant enfant.

+2

Pourriez-vous également afficher la méthode de rendu et le composant enfant? C'est difficile à dire avec juste le code dans la question. Soit vous devez passer le magasin comme accessoire à l'enfant, soit vous pouvez utiliser un [** Provider et injecter **] (https://github.com/mobxjs/mobx-react#provider-and-inject). – Tholle

+0

Tholle, merci pour la réponse. J'ai mis à jour mon message avec du code. – Shawn

Répondre

1

Assurez-vous de transmettre le fetchSources comme accessoire au composant enfant, et cela devrait fonctionner.