React:渲染未返回任何内容.这通常意味着缺少返回语句



如何修复抛出的此错误?

错误:CountryList(…(:渲染未返回任何内容。这通常意味着缺少返回语句。或者,要不呈现任何内容,请返回空

index.js

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './Containers/App';
import reportWebVitals from './reportWebVitals';
import 'tachyons';
ReactDOM.render(
<React.StrictMode>
<App />
</React.StrictMode>,
document.getElementById('root')
);
reportWebVitals();

应用程序.js

import React, { Component } from 'react';
import './App.css';
import NavBar from '../Components/NavBar';
import SideBar from '../Components/SideBar';
import CountryList from '../Components/CountryList';
class App extends Component {
constructor() {
super();
this.state = {
nations: []
}
}
componentDidMount() {
fetch('https://restcountries.eu/rest/v2/all%27)
.then(response => response.json())
.then(x => this.setState({ nations: x }));
}
render() {
const { nations } = this.state;
return (
<div>
<NavBar />
<SideBar>
<CountryList nations={nations} />
</SideBar>
</div>
);
}
}
export default App;

您可能不会从CountryList组件返回任何内容。你应该检查一下你的报税表。如果你为nations道具设置任何条件,也许你做错了什么。我猜你确实喜欢这个。

CountryList extends React.Component{
if(nations) {
return nations.map(nation => ...)
}
}

但是你应该喜欢这个

CountryList extends React.Component{
if(nations) {
return nations.map(nation => ...)
} else {
return null;
}
}

或者更好的方法:

CountryList extends React.Component{
// ...do some stuff before return
return (
this.props.nations?.length > 0 && this.props.nations.map(....)
)

}

相关内容

  • 没有找到相关文章

最新更新