javascript - 无法在反应中显示数据但能够在控制台中看到
问题描述
*****我的代码 *****
export default class App extends Component {
state = {
arraydata: [] };
componentDidMount = () => {
this.getmongodbdata(); }
getmongodbdata = () => {
axios.get('http://localhost:8080/fetch').then(res => {
console.log(res.data,)
console.log('Data is recieved')
this.setState({arraydata: res.data})
})
.catch(() => {
alert('Sorry, could not able to fetch the data');
}) }
render() {
return (
<div className="Main">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<h1 className="App-title">Welcome to Future</h1>
</header>
<h1> hello world</h1>
<ul key={'qw'}>
{this.state.arraydata.map((data) => {
<li key={'ui'}>
{data._id}
</li>
console.log(data._id)
})}
</ul>
<div className={"blog-"}>
</div>
</div>
) } }
*我在控制台中的输出并做出反应
只是试图显示此数据但无法显示。
解决方案
map
应该返回要打印的数组。试试这个
<ul key={'qw'}>
{this.state.arraydata.map((data, index) => {
return <li key={`ui-${index}`}>
{data._id}
</li>
})}
</ul>
我如何在其中显示其他数据,例如在其中输入警报数组
从帖子中我看到site.alerts
的是一个数组。您需要使用相同的方法map
来打印它。
例子
<ul key={'qw'}>
{this.state.arraydata.map((data, index) => {
return <li key={`ui-${index}`}>
{data._id}
<ul key={`alert-ui-${index}`}>
{data.site.alerts.map((alertData, alertIndex)=>{
return <li key={`alert-li-${alertIndex}`}>{alertData.alert}</li>
});
</ul>
</li>
})}
</ul>
推荐阅读
- google-cloud-platform - 尝试在部署管理器中创建服务帐户密钥时出错
- css - 如何将 *ngFor 值列表分成两个 div
- python - 在 Django 中更新模型实例的 M2M 关系
- php - 来自多维数组的递归数组映射
- symfony - 如何使用命令在 Symfony 3.4 中生成实体?
- java - smack stanzaFilter 带有已接收元素的收据的消息
- mysql - 过滤所有两个表以获取所有数据
- sql - 如何将数字替换/转换为字符串
- r - Postgres ARRAY 列类型到 R 中的 tbl 列表列,反之亦然
- python - 引导程序的容器流体类在 django 中不起作用