我使用NextJS在表中显示从DB获得的数据,一旦我获取数据,我想使用map
函数创建表行,然后将其插入表中
import React, {useEffect, useState} from 'react'
import { Container, Table } from 'react-bootstrap'
import axios from 'axios'
export default function index() {
const [object, setObject] = useState({
type: '',
date: '',
user: 0
})
const fetchData = async () =>{
const results = await axios.get(`my api url`)
setObject(results.data.result)
}
useEffect(() =>{
fetchData()
},[])
if(object.user != 0){
const objectRow = object.map(
(index: any) =>{
return(
<tr>
<td>{index.type}</td>
<td>{index.date}</td>
<td>{index.user}</td>
</tr>
)
}
)*/
}
return (
<Container>
<Table bordered hover >
<thead>
<tr>
<th>Type</th>
<th>Date</th>
<th>User/th>
</tr>
</thead>
<tbody>
{objectRow}
</tbody>
</Table>
</Container>
)
}
我得到一个错误Property 'map' does not exist on type
,后面跟着object
的属性。
我的方法有问题吗?如何Map数据?
2条答案
按热度按时间bpsygsoo1#
object
不是数组。使用使其成为数组。
并确保API调用的结果是一个数组。
jjhzyzn02#
你好你提供的代码有一些错误,我提供了一个可能更好的版本的代码
}