我有一个代码,只是感觉不对
"use client";
//Client side rendering for a nav seems useless just to have a show hide button
import { useState } from "react";
export default function NavBar() {
const [isNavOpen, setIsNavOpen] = useState(true);
return (
[...]
<div
className={`${isNavOpen ? "hidden" : ""} w-full md:block md:w-auto`}
id="navbar-default"
>
我希望导航服务器端渲染,速度,但在移动的我有一个按钮,我想点击显示隐藏。我如何使用脚本来合成这个页面,而不是呈现整个组件客户端?必须有一种方法来做简单的显示/隐藏与服务器端组件没有?
1条答案
按热度按时间dgsult0t1#
您可以将Navbar创建为另一个组件,然后使用props传递
isNavOpen
。但是建议,如果一个组件具有交互性,它应该是一个客户端组件。https://nextjs.org/docs/getting-started/react-essentials#when-to-use-server-and-client-components