【问题标题】:Custom script with Next.jsNext.js 的自定义脚本
【发布时间】:2021-07-20 01:48:42
【问题描述】:

在 Next.js 中为菜单中的幻灯片创建类切换功能的正确方法是什么?

我创建了一个菜单,它具有可切换的滑入功能。有一个按钮可以切换“切换”类,然后菜单从侧面滑入。我不确定在使用 React/Next.js 时这种方法本身是否是错误的,在这种情况下,我会很感激替代方案。

所以通常我会在页脚的某处内联我的切换脚本,以获得最佳速度。这是一个非常小的脚本,因此不需要将其包含在单独的文件中。我只是不知道在使用 Next.js 时将该脚本放在哪里。

我读到您可以使用 next/head 并将代码放在一个单独的文件中,并通常在其中包含该文件,但这对我来说听起来不是很理想。这会创建一个单独的请求,并使整个事情比它需要的要慢。而且,如果需要以这种方式完成,如果您想这样做,您将如何预加载/推送它?

【问题讨论】:

  • 您应该将脚本的逻辑集成到您的 react 应用程序中的相关组件中,而不是将其作为单独的脚本包含在内。

标签: javascript reactjs express next.js


【解决方案1】:

创建一个 React 组件 - 逻辑将存在于那里。无需像通常那样拥有单独的脚本文件

import React, { useState } from 'react';

const Menu = () => {
  const [toggled, setToggled] = useState(false);

  const class_name = toggled ? 'menu--toggled' : 'menu';

  return (
    <div className={class_name} onClick={setToggled(!toggled)}>
      <div>Menu Item 1</div>
      <div>Menu Item 2</div>
    </div>
  );
};

希望这能让你走上正轨

【讨论】:

  • 感谢您的回答!我已经研究过了,但我并没有让它开箱即用。示例中的检查变量是什么?你能解释一下这应该如何工作吗?
  • @dansan 抱歉,应该切换而不是检查。我已经更新了答案。这只是一个可以滑入和滑出的 React 菜单组件的非常粗略的示例
  • 好吧,我想会是这样,但我仍然没有设法让它工作。无论我做什么,class_name 都会显示为“--toggled”。我从未见过 && 在这样的声明中使用。
  • 对不起 - 又一个愚蠢的错误..我又更新了
  • 现在很好用,谢谢!这肯定有很大帮助,但我对此仍有很多疑问。例如,假设我想在组件外部的元素上切换一个类? (例如在body标签上)
猜你喜欢
  • 2020-04-24
  • 2021-04-25
  • 1970-01-01
  • 2022-10-20
  • 2021-09-01
  • 2013-09-02
  • 1970-01-01
  • 1970-01-01
  • 2013-03-26
相关资源
最近更新 更多