API在按每个用户ID映射和获取用户详细信息时无法正确获取用户的数据

时间:2019-04-13 23:56:14

标签: node.js reactjs api mapping axios

我有一个对象数组,每个元素都有创建特定元素的用户的用户ID。现在,在React中,我正在映射数组以显示细节。映射之前,我通过“ axios.get”调用API,该API带有用户ID并返回用户详细信息。 问题是从API返回的用户详细信息未正确加载。

API完全可以,但是React前端存在一些问题。 有更好的方法吗?

我在哪里映射提要:

this is where I am mapping the feed.

调用API并获取用户详细信息的方法。 posted_by是全局变量。

this is my method to call the API and get user-details

1 个答案:

答案 0 :(得分:0)

看起来您没有正确使用ReactJs实现。

  1. 只要更新任何状态或道具,Reactjs便可以进行重新渲染。 getUserById是一个异步调用,因此,当API完成数据提取时,UI将已经呈现。而且,由于redux存储或反应状态不会使用来自API的新数据进行更新,因此不会使用新数据重新呈现UI。因此,您需要在API调用完成后使用API​​中的数据更新状态/存储。 Updating the value of global variable(by posted_by = res.data) won't work in here

  2. API调用不应在render函数内进行。否则,每次react将重新呈现UI时,您将进行相同的API调用。您应该将它们移至其他生命周期方法。

希望有帮助。还原任何疑问/澄清。