我正在使用MobX进行React的状态管理。我实际上让它工作 - 数据从父级传播到父级的子级,使用父级的@observer
,并从商店传递道具。太棒了!
除了..数据在那里 - 我可以在每个孩子中console.log
,但axios.get
内的stores.js
调用失败(即使它确实传递了数据?)< / p>
我的stores.js
:
import { observable, action, computed } from 'mobx';
const axios = require('axios');
class Store {
@observable dataForParent;
loadParent = () => {
let that = this;
axios.get("/api/parentdata/snapshot").then(function(response){
console.info("Received parent info "+ (new Date()).toString());
that.dataForParent = response.data;
console.log(response.data);
}).catch(function(error){
console.error("Error getting parent info:" + error.toString());
});
};
}
export default Store;
正确地说,它设法将数据传递给<Parent />
组件。
但是,它永远不会呈现<Parent />
组件,因为它表示loadParent()
函数实际上会捕获错误。
错误是:Error getting parent info:TypeError: Cannot read property 'data' of null
这对我来说没有多大意义:我可以console.log
在/api/parentdata/snapshot
界面收集包含其他对象的整个对象。这意味着呼叫是成功的,而不是失败。
为什么会失败并阻止整个应用程序?数据传播到我的React类。这对我来说似乎很奇怪。