javascript - 地图数组没有被识别,所以页面没有建立
问题描述
我正在使用 reactjs 为我的妻子制作 bookCatalog,并且在登录页面上我想显示所有已注册的书籍。所以我的代码如下所示,但我得到一个 TypeError: Cannot read properties of undefined (reading 'map') 并且我不知道该怎么做。
保存在 mongodb 上的所有属性的实际书籍数组显示在浏览器的控制台中,但页面未构建。
import React, { useState, useEffect } from 'react'
import { Link, useHistory } from 'react-router-dom'
import { FiEdit, FiTrash2 } from 'react-icons/fi'
import './styles.css'
import logoImage from '../../assets/logo.svg'
import api from '../../services/api'
export default function BookCatalog() {
const [bookRepository, setBookRepository] = useState([])
const history = useHistory()
useEffect(() => {
api.get('/books').then(response => {
setBookRepository(response.data.list)
})
})
return (
<div className="bookCatalog-container">
<header>
<img src={logoImage} alt="Catálogo de livros" />
<span>Catálogo de Livros</span>
<Link className="button" to="/NewBook">Adicionar novo livro</Link>
</header>
<h1>Livros Registrados</h1>
<ul>
{bookRepository.map(book => (
<li>
<strong>Título:</strong>
<p>{book.title}</p>
<strong>Autor:</strong>
<p>{book.author}</p>
<strong>Editora:</strong>
<p>{book.publishingCompany}</p>
<strong>Ano de Publicação:</strong>
<p>{book.publicationYear}</p>
<strong>Edição:</strong>
<p>{book.edition}</p>
<button type="button">
<FiEdit size={20} color="#251FC5" />
</button>
<button type="button">
<FiTrash2 size={20} color="#251FC5" />
</button>
</li>
))}
</ul>
</div>
)
}```
解决方案
推荐阅读
- python - 识别布尔数组/blob的内部 - NumPy / Python
- mysql - rand() 仅表中的最后 20 行
- python - 如何在熊猫数据框中将“19”添加到 69?
- c++ - 接受特征密集矩阵和稀疏矩阵的函数
- micronaut - HttpClientResponseException:空体
- django - Django:按顺序过滤产品的问题
- javascript - HTML:无法使用 Tab 键访问链接
- arrays - 如何在Matlab中找到单元格(向量案例)的索引
- javascript - 如何用 sinon 模拟 d3.select.selectall?
- python - 如何修复'TypeError:float()参数必须是字符串或数字,而不是'map''