为什么在组件初始化之后,React Component函数构造函数中的方法会进行评估?

时间:2019-05-26 04:06:43

标签: javascript reactjs function components algolia

很抱歉,标题很难理解,因为这绝对是一个奇怪的问题。

我认为此屏幕截图最能说明正在发生的事情,并且从每种编程角度看对我来说都是没有意义的。不管是解释PL还是编译PL,我都希望同一函数中的两行以连续的顺序求值。

但是在这种情况下不是:

enter image description here

您可以在这张并排的屏幕截图中清楚地看到,我本想在第一行(连续地说)之后(连续地说)先打印/评估过的行。

这对我来说是个问题,因为我在React组件构造函数中调用index.getObject方法的全部原因是要在对象本身中使用响应。所以现在所有的React组件都只使用destName = null

有人可以解释这种行为吗? (如果有办法确保第一行首先得到评估,则可获得加分)

解释行为的其他图片:

enter image description here

1 个答案:

答案 0 :(得分:0)

正如@RandyCasburn所暗示的那样,这似乎与您的index.getObject方法是异步JavaScript调用有关。这意味着,在调用index.getObject时,JavaScript在等待index.getObject调用的结果时会继续执行代码。

以下是有关堆栈溢出的异步JavaScript问题的规范答案:Why is my variable unaltered after I modify it inside of a function? - Asynchronous code reference