Reaction Inside MAP中Render方法中的API调用

人气:214 发布:2022-10-16 标签: node.js render reactjs

问题描述

我有一个userId数组,我需要显示与该数组相关的名称列表。我想在render方法内部调用API调用并获取用户名。但这并不管用。我如何解决此问题?

下面是我的render方法:

render(){
    ...
    return(
        <div>
            {this.state.users.map(userId => {
                return (
                    <div> {this.renderName(userId )} </div>
                )
            })}
        </div>
    )
    ...
}

下面是renderName函数:

renderName = (userId) => {
    axios.get(backendURI.url + '/users/getUserName/' + userId)
         .then(res => <div>{res.data.name}</div>)
}

推荐答案

基本上不能在呈现内部使用异步调用,因为它们返回无效的承诺。而是使用ComponentDidmount和setState使用用户的名称更新用户数组。

119