我正在开发一个Nextjs应用程序,希望使用router.ush将用户定向到另一个链接,但我不知道如何在新选项卡中打开该链接.敬请指教.谢谢.

我的代码现在是这样的:

import { useRouter } from "next/navigation";

const router = useRouter();

 <Button
          onClick={() => {
            router.push(`${mylink}`);
          }}
        >
          Order
</Button>

推荐答案

router.push所做的是重定向到您定义的路由.在这里,您想要的是在不同的链接上打开一个新选项卡. 您可以使用NextJS Link并将目标设置为_blank

import Link from "next/link";

<Link href={mylink} target="_blank">Order</Link>

如果你想要一个纽扣,你可以这样做

<Link href={mylink} target="_blank">
 <Button>Order</Button>
</Link>

Node.js相关问答推荐

MongoServelSelection错误:服务器 Select 在30000 ms后超时

NX无法使用缓存运行根级脚本

GraphQL MongoDB Mongoose填充字段未获取多个类别

根据我的测试,为什么在编写Varint代码方面,NodeJS要比Rust快这么多?

如何在不丢失其他键的情况下解开子文档数组,然后反转该过程?

FireStore事务似乎已允许并发编辑?

如何防止Socket-io实例化React/Next.js中的两个套接字(当前在服务器*和*客户端实例化)

如何在医学中按patientId查找一个并同时插入多个数据

Nestjs swc 错误:找不到模块项目路径/src/app.module

几个 lambda 共有的函数

在对象数组中的数组中嵌套 $lookup - Mongodb

每个数组值在 mongodb 中查找一个文档

Jest - SyntaxError: 不能在@nestjs/axios 的模块外使用 import 语句

在 Node JS 中使用 url 链接而不是文件路径

如何从动态Typescript 文件加载模块

访问 Mongoose 查询之外的变量

WSL2 上需要脚本运行的 NPM 包的权限被拒绝

在 node:readline 中按 CTRL+D 时会发出什么信号?

自定义 Docker 容器 Github 操作无法在 /github/workspace 中找到 Node 脚本

在多个 .env 文件之间切换,例如 .env.development 和 node.js