我有一个对象数组,每个元素都有创建特定元素的用户的用户ID。现在,在React中,我正在映射数组以显示细节。映射之前,我通过“ axios.get”调用API,该API带有用户ID并返回用户详细信息。 问题是从API返回的用户详细信息未正确加载。
API完全可以,但是React前端存在一些问题。 有更好的方法吗?
我在哪里映射提要:
调用API并获取用户详细信息的方法。 posted_by是全局变量。
答案 0 :(得分:0)
看起来您没有正确使用ReactJs实现。
只要更新任何状态或道具,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
。
API调用不应在render函数内进行。否则,每次react将重新呈现UI时,您将进行相同的API调用。您应该将它们移至其他生命周期方法。
希望有帮助。还原任何疑问/澄清。