Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 反应+;mobx在初始页面加载时不呈现_Javascript_Reactjs_Mobx - Fatal编程技术网

Javascript 反应+;mobx在初始页面加载时不呈现

Javascript 反应+;mobx在初始页面加载时不呈现,javascript,reactjs,mobx,Javascript,Reactjs,Mobx,我试图进入React+mobx,但遇到了一个问题。我有一个从服务器获取数据的存储,在获取结束后,获取的数据必须显示在页面上。错误在初始加载时-在获取后没有数据呈现(已加载的获取数据显示在控制台的“网络”选项卡中)。 但若我尝试再次从菜单转到此页,则数据将在第页上呈现 为了理解一个问题,我准备了gitHub repo,其中包含获取虚拟数据 对于复制bug,只需clonerepo。和npm i和npm start 提前感谢我发现了问题(并从中吸取了教训:) 你的商店应该是这样的 导出类Dashbo

我试图进入React+mobx,但遇到了一个问题。我有一个从服务器获取数据的存储,在获取结束后,获取的数据必须显示在页面上。错误在初始加载时-在获取后没有数据呈现(已加载的获取数据显示在控制台的“网络”选项卡中)。 但若我尝试再次从菜单转到此页,则数据将在第页上呈现

为了理解一个问题,我准备了gitHub repo,其中包含获取虚拟数据

对于复制bug,只需
clone
repo。和
npm i
npm start

提前感谢

我发现了问题(并从中吸取了教训:)

你的商店应该是这样的

导出类DashboardStore扩展了BaseStore{
@可观测状态=[];//{
const statResponse=wait this.callApi('fetchStat');
runInAction(()=>{//async方法无法标记为操作,因为它们是异步的
this.stat=statResponse;
});
};
}
令我惊讶的是,如果
render
方法被定义为带有箭头函数的属性,则在可观察到的变化时不会重新渲染

因此,只需将
render
更改为类的方法即可

//仪表板/index.jsx
...
render(){
const{stat,regInfo,regInfo}=this.props.dashboardStore;
返回(
{stat.length&&stat.map(行=>(
{row.title}
))}
);
}
...

这是一个好问题哇!!!非常感谢)两天的谷歌搜索什么也没给!另外,我真正的反应是object,这里我只是忘了将stat var更改为array:)