【发布时间】:2021-03-12 01:45:13
【问题描述】:
我是 React 的新手,我不知道我的代码出了什么问题。我正在使用https://swapi.dev/api/films/ 制作一个 React Axios 项目,字符数据显示另一个 API 链接,因此我制作了一个 Axios 循环来显示字符名称。字符名称可以显示在控制台中,所以应该成功但名称没有显示在屏幕上。已返回数据但仍未显示。我不知道出了什么问题,请帮助我。这是网络应用图片https://imgur.com/a/jQkuUI3,这是完整代码。谢谢!!
import React, { Component } from "react";
import axios from "axios";
class MovieDetail extends Component {
state = {
showMovieDetail: false,
};
movieListClicked = () => {
this.setState({ showMovieDetail: !this.state.showMovieDetail });
};
getCharactersDetails = () => {
const charsAPILink = this.props.characters;
const charData = return charsAPILink.map((data) => {
axios.get(data).then((response) => {
console.log(response.data.name);
return response.data.name;
});
});
return charData;
};
render() {
return (
<div className="MovieDetail" onClick={this.movieListClicked}>
{!this.state.showMovieDetail ? (
<h2>{this.props.title}</h2>
) : (
<div>
<h3>
Title : {this.props.title} <br />
Episode : {this.props.episode} <br />
{this.props.opening} <br />
Director : {this.props.director} <br />
Producer : {this.props.producer} <br />
Date : {this.props.date} <br />
Characters : {this.getCharactersDetails()}
</h3>
</div>
)}
</div>
);
}
}
export default MovieDetail;
【问题讨论】:
标签: javascript reactjs axios