2017-06-05 1 views
1

Ich versuche, Reagieren mit MobX.MobX React TypeError: Kann nicht lesen Eigenschaft von undefined

Ich definierte fetchSources() in meinem Speicher. Wenn ich das folgende auf der obersten Ebene Komponente gibt, funktioniert es gut.

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

Aber wenn ich die oben denselben Code in Kindebene Komponente setzen, die sich auch als Beobachter definiert es gibt mir die folgende Fehlermeldung.

TypeError: Die Eigenschaft 'fetchSources' von undefined kann nicht gelesen werden.

Irgendeine Idee, wie man es repariert?

Update:

Tholle ist richtig. Das Problem wird gelöst, indem der Speicher an die untergeordnete Komponente übergeben wird.

+2

Können Sie die Rendermethode und die untergeordnete Komponente auch anzeigen? Es ist schwer, nur mit dem Code in der Frage zu sagen. Entweder müssen Sie den Store als Requisite an das Kind weitergeben, oder Sie können einen [** Provider und inject **] (https://github.com/mobxjs/mobx-react#provider-and-inject) verwenden. – Tholle

+0

Tholle, danke für die Antwort. Ich habe meinen Beitrag mit Code aktualisiert. – Shawn

Antwort

1

Stellen Sie sicher, dass Sie die fetchSources als eine Stütze an die untergeordnete Komponente übergeben, und es sollte funktionieren.

Verwandte Themen