Javascript 使用函数返回道具并不等于返回道具
我试图使用一种方法定义react组件上的道具。该方法工作正常,我可以向控制台返回正确的结果。但是,当我使用react browser extension检查我的组件时,我发现没有为组件指定任何道具,也无法在组件中使用道具Javascript 使用函数返回道具并不等于返回道具,javascript,reactjs,api,Javascript,Reactjs,Api,我试图使用一种方法定义react组件上的道具。该方法工作正常,我可以向控制台返回正确的结果。但是,当我使用react browser extension检查我的组件时,我发现没有为组件指定任何道具,也无法在组件中使用道具 class NowPlaying extends Component { state = { genres: [] }; componentDidMount() { // Fetch Genre Data axios.get(`${base_url}
class NowPlaying extends Component {
state = {
genres: []
};
componentDidMount() {
// Fetch Genre Data
axios.get(`${base_url}genre/movie/list?api_key=${api_key}`)
.then(res => this.setState({ genres: res.data.genres }))
}
getGenreTitles = (genreIds, genres) => {
genreIds.map(genreId => {
const filteredGenres = genres.filter(genre => genre.id === genreId);
const { name } = filteredGenres[0];
return name;
})
};
render() {
return this.props.movies.map((movie) => (
<MovieItem
key={movie.id}
movie={movie}
genres={this.getGenreTitles(movie.genre_ids, this.state.genres)}
/>
));
}
}
正在播放的类扩展了组件{
状态={
体裁:[]
};
componentDidMount(){
//获取类型数据
get(`${base\u url}流派/movie/list?api\u key=${api\u key}`)
.then(res=>this.setState({genres:res.data.genres}))
}
getGenreTitles=(流派、流派)=>{
genreIds.map(genreId=>{
const filteredGenres=genres.filter(genre=>genre.id==genreId);
const{name}=filteredGenres[0];
返回名称;
})
};
render(){
返回此.props.movies.map((movie)=>(
));
}
}
期望名称作为道具返回,然后可以在movieitem组件中使用
getGenreTitles
不返回任何内容。(相反,请注意传递给map()
的函数如何具有return
语句。)或者从函数声明中删除大括号,以利用箭头函数的默认返回:
getGenreTitles = (genreIds, genres) =>
genreIds.map(genreId => {
const filteredGenres = genres.filter(genre => genre.id === genreId);
const { name } = filteredGenres[0];
return name;
});
或向函数体添加return
语句:
getGenreTitles = (genreIds, genres) => {
return genreIds.map(genreId => {
const filteredGenres = genres.filter(genre => genre.id === genreId);
const { name } = filteredGenres[0];
return name;
});
}