javascript - 从 getStaticProps 迭代对象并在组件模板中显示
问题描述
我正在尝试显示发生的数据库提取的结果,getStaticProps
但是当我在组件模板中映射对象时,出现以下错误。我想显示返回数据中的所有数据。
我的代码:
import React from "react"
import { GetStaticProps } from "next"
// pages/index.tsx
import prisma from '../lib/prisma'
export const getStaticProps: GetStaticProps = async () => {
const tracks = await prisma.tracks.findMany();
return { props: { tracks } };
};
const Tracks = ({ tracks }) => {
console.log(tracks)
return (
<div>
<h1>All Tracks</h1>
{tracks.map((track ) => (
<div>{track.ts}</div>
))}
</div>
);
}
export default Tracks;
错误:
Unhandled Runtime Error
Error: Objects are not valid as a React child (found: Sat Jun 27 2020 17:43:15 GMT-0500 (Central Daylight Time)). If you meant to render a collection of children, use an array instead.
这是响应的样子:
解决方案
track.ts
是一个Date
类型,基本上是一个object
. 你不能只Date
在 JSX 中渲染对象。您需要将其转换为字符串或数字,例如:
const Tracks = ({ tracks }) => {
console.log(tracks)
return (
<div>
<h1>All Tracks</h1>
{tracks.map((track ) => (
<div>{String(track.ts)}</div>
))}
</div>
);
}
推荐阅读
- javascript - 将角形分割成多个部分
- asp.net - 我可以调用 Web 服务但无法从 WEB SERVICE 获得响应
- java - 在泛型类的静态类中使用泛型类型
- excel - 在受保护的工作表上启用宏按钮 - Excel
- java - 我在 Spring Boot 中运行 shell 命令,但 process = Runtime.getRuntime().exec(cmd) 不运行
- django - 计算 NDB 库中记录数的最佳方法
- python - 尽管使用线程,PyQt5 窗口仍然冻结
- php - 注销后如何在codeigniter中销毁sess_cookie_name
- javascript - 如何在jquery中使用.html(要显示的值)时在td元素中添加span元素
- html - AMP:为什么 .amp.html 扩展名的文件不显示在 linux 主机上?