提问人:Deviee 提问时间:11/13/2023 更新时间:11/13/2023 访问量:7
如何将 prisma 与 use-client 声明一起使用?
How to use prisma with the use-client declaration?
问:
所以我正在尝试从数据库中获取数据。但是,由于不可能在一个文件中使用 Prisma 和客户端渲染,因此我有一个文件,其中我使用 Prisma 获取数据,另一个文件将这些异步函数与 useState 和 useEffect 一起使用:
import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();
export async function main() {
const data = await prisma.book.findFirst({
where:{
title:"TheLeanStartup"
},
select:{
id:false,
author:false,
title:true,
rating:false,
image:false,
tags:false
}
});
return data;
}
export async function fetchBook(request) {
try {
return await request();
} catch (error) {
console.error(error.message);
}
}
在第二个文件中,我尝试使用状态和效果渲染这些数据:
'use client'
import {fetchBook, main} from '@components/Book-Subside/afuncs';
import { useEffect, useState } from 'react';
export default function Review() {
const [book, setBook] = useState(null);
useEffect(() => {
let result = fetchBook(main);
setBook(result);
}, []);
if (!book) {
return <div>Loading...</div>;
}
return (
<h1>{book.title}</h1>
);
}
有人可以解释一下如何使这段代码工作,因为我得到的只是一堆错误。
答: 暂无答案
评论