必须返回有效的 React 元素(或 null).您可能返回了未定义、数组或其他无效对象 [英] A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object
问题描述
我刚接触 ReactJS,遇到了问题.我解决不了似乎一切都很好,但仍然控制台让我:
<块引用>必须返回有效的 React 元素(或 null).你可能有返回未定义、数组或其他无效对象.
这是我的代码:
从'react'导入React;从 'react-dom' 导入 ReactDOM;从同构获取"中导入获取;从'./Pokemon'导入口袋妖怪;class PokemonList 扩展 React.Component {构造函数(道具){超级(道具);this.state = {物种: [],获取:假,加载:假,};}componentWillMount(){this.setState({加载:真实});fetch('http://pokeapi.co/api/v2/pokemon?limit=151').then(res => res.json()).then(res =>{this.setState({物种:res.results,加载:真实,获取:真实});});}使成为() {const {fetched, loading, species} = this.state;让内容;//这似乎是问题所在如果(获取){内容 =<div className="pokemon--species--list">{species.map((pokemon,index) => <Pokemon key={pokemon.name} id={index+1} pokemon={pokemon}/>)}
;}否则如果(加载&& !获取){内容 = <p>正在加载...</p>;}别的{内容 = <div/>;}返回 (<div>{内容}
);}}导出默认 PokemonList;
Pokemon.js
从'react'导入React;从 'react-dom' 导入 ReactDOM;class Pokemon 扩展 React.Component {使成为() {const {pokemon, id} = this.props;返回<div className="pokemon--spacies"><div className="pokemon--spacies--container"><div className="pokemon--spacies--sprite"><img src={`/public/sprites/${id}.png`}/>
<div className="pokemon--spacies--name">{pokemon.name }</div>