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

问题描述 投票:0回答:1

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

API完全正常,但React前端存在一些问题。有一个更好的方法吗?

我在哪里映射Feed:

this is where I am mapping the feed.

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

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

node.js reactjs api mapping axios
1个回答
0
投票

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

  1. 每当更新任何状态或道具时,Reactjs都会重新渲染。 getUserById是一个异步调用,因此,当API完成获取数据时,UI已经被渲染。因为,还没有使用来自API的新数据更新redux存储或反应状态,所以不会使用新数据重新呈现UI。因此,您需要在API调用完成后使用API​​中的数据更新状态/存储。 Updating the value of global variable(by posted_by = res.data) won't work in here
  2. 不应在render函数内部进行API调用。否则,每次react都会重新呈现UI,您将进行相同的API调用。您应该将它们移动到其他一些生命周期方法。

希望能帮助到你。如有任何疑问/澄清,请回复。

© www.soinside.com 2019 - 2024. All rights reserved.