我正在向服务器端代码发送一个无法正确读取的值。我正在使用 NextJS 实验 App 目录
//src/app/api/auth/route.js
export async function POST(req, res) {
console.log(req.body);
const { address } = req.body;
const isAuthenticated = await checkBalance(address, threshold);
if (isAuthenticated) {
return new Response("Authorized", { status: 200 });
} else if (isAuthenticated == false) {
return new Response("Unauthorized", { status: 401 });
} else if (isAuthenticated == undefined) {
return new Response("Error", { status: 500 });
}
}
Run Code Online (Sandbox Code Playgroud)
控制台日志是:ReadableStream { locked: false, state: 'readable', supportsBYOB: false }
常量地址是undefined.
这是 API …
我正在开发一个项目,使用 Next.js 13 和服务器组件以及 Chakra UI 进行样式设置。我主要关心的是在使用应用程序/布局功能时保护敏感的服务器端代码逻辑不暴露给客户端。
Chakra UI 组件仅是客户端,我不确定它们在代码公开方面如何与服务器组件交互。具体来说,我想知道在布局文件中使用“use client”指令是否也可能会暴露其他文件中的代码逻辑。例如,如果我的索引文件具有确定呈现哪些 html 或哪些组件的逻辑(或导入带有逻辑的组件),那么该逻辑是否也会发送到客户端,或者客户端只是接收 html?
这是我的布局文件的示例:
"use client";
import { ChakraProvider } from "@chakra-ui/react";
import { CacheProvider } from "@chakra-ui/next-js";
export default function RootLayout({ children }) {
return (
<html lang="en">
<body>
<CacheProvider>
<ChakraProvider>{children}</ChakraProvider>
</CacheProvider>
</body>
</html>
);
}
Run Code Online (Sandbox Code Playgroud)
这是我第一次创建服务器和客户端应用程序,因此对这个主题的任何澄清将不胜感激。