1

我有一个反应组件,它使用 Axios 从 API 获取一堆照片。

它可以工作,但现在我不知道如何在组件中显示图像。

如何使用照片数组并将它们显示在我的组件中?

下面是 axios 返回的数组的截图:

在此处输入图像描述

这是我的组件:

class ImagePlayer extends Component {

componentDidMount() {
    axios.get(`/api/gameRPG/monsterImages/${this.props.encounterId}/pics`)
        .then((response) => {
            console.log(response);
        })
        .catch((error) => {
            console.log(error);
        });

}
render() {
    return (
        <div>
            <div>Show Encounter Pics</div>
            <div></div>
        </div>
    );
}
}

export default ImagePlayer;

谢谢!

4

1 回答 1

3

您可以将响应数据存储到组件的状态中:

this.setState({photos: response.data})

然后在 render 方法中使用组件的状态:

this.state.photos.map((photo) => ...some render logic here...)

如果您正在构建某种更大/生产应用程序,我建议将数据从本地组件的状态外部化到状态容器(redux)并使用中间件查询后端(在您的组件中没有直接调用 axios)。

于 2018-05-22T21:06:13.483 回答