reactjs SSR Next.js页面上的简单交互

tquggr8v  于 2023-05-28  发布在  React
关注(0)|答案(1)|浏览(151)

我有一个代码,只是感觉不对

"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"
        >

我希望导航服务器端渲染,速度,但在移动的我有一个按钮,我想点击显示隐藏。我如何使用脚本来合成这个页面,而不是呈现整个组件客户端?必须有一种方法来做简单的显示/隐藏与服务器端组件没有?

dgsult0t

dgsult0t1#

您可以将Navbar创建为另一个组件,然后使用props传递isNavOpen。但是建议,如果一个组件具有交互性,它应该是一个客户端组件。
https://nextjs.org/docs/getting-started/react-essentials#when-to-use-server-and-client-components

相关问题