Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.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
Reactjs “反应组分”;有时";不';我找不到道具_Reactjs_React Redux - Fatal编程技术网

Reactjs “反应组分”;有时";不';我找不到道具

Reactjs “反应组分”;有时";不';我找不到道具,reactjs,react-redux,Reactjs,React Redux,这是一个非常奇怪的问题,我想看看是否还有其他人经历过 有时,我的react组件找不到道具的属性。我说有时是因为有时页面呈现得非常好。其他时候,它找不到道具,如果我刷新它两次左右,它就会开始工作 我认为问题可能与捆绑和缩小的JS文件有关,所以我切换到WebpackDevServer动态提供的文件,我也有同样的问题 很难看出是什么导致了这个问题,因为它是间歇性的。为什么它会在一个案例中失败,然后一旦页面刷新几次,它就开始工作了 我认为这并不重要,但我正在访问对象的属性,如下所示: <MyCom

这是一个非常奇怪的问题,我想看看是否还有其他人经历过

有时,我的react组件找不到道具的属性。我说有时是因为有时页面呈现得非常好。其他时候,它找不到道具,如果我刷新它两次左右,它就会开始工作

我认为问题可能与捆绑和缩小的JS文件有关,所以我切换到WebpackDevServer动态提供的文件,我也有同样的问题

很难看出是什么导致了这个问题,因为它是间歇性的。为什么它会在一个案例中失败,然后一旦页面刷新几次,它就开始工作了

我认为这并不重要,但我正在访问对象的属性,如下所示:

<MyComponent name={this.props.account.accountHolder.firstName} />

如果在出现错误时调试它,我会看到firstName是
未定义的
。刷新页面几次,一切正常


你知道这是什么原因吗?

你似乎在与比赛条件作斗争

案例1(一切顺利):

  • 你的应用程序已加载
  • 您的ajax请求已发送
  • 将返回ajax请求并将数据插入redux
  • 您的应用程序渲染方法被调用
  • 利润
  • 案例2:

  • 你的应用程序已加载
  • 您的ajax请求已发送
  • 您的应用程序渲染方法被调用
  • 卡普特
  • 将返回ajax请求并将数据插入redux

  • 因此,解决方案在某种程度上取决于减速器的状态以及预期的行为,但我建议,在您的组件上,如果数据不显示其他内容(null、加载微调器、错误消息、w/e),请验证数据是否确实存在直到实际填充了正确的道具,并且您可以显示子组件。

    数据是如何填充的?它来自api调用吗?静态文件?数据来自哪里?数据是通过Ajax加载的,但您的组件不会等到数据到达后才呈现?对象在API调用后填充并进入我的Redux存储。最有用的是查看订阅帐户属性的组件以及处理将API有效负载加载到Redux存储的缩减器。@sam请显示,因为在这样做的过程中,您可能已经自己找出了问题所在,但是如果您不知道,您就有了更好的代码来向人们展示他们可以运行并看到相同的问题。