使用import { useRouter } from "next/router";
asimport { useRouter } from "next/navigation";
会抛出“'{ pathname: string; query: { search: string; }; }' 类型的参数不可分配给 'string' 类型的参数。”
const router = useRouter();
const [searchInput, setSearchInput] = useState("");
const search = (e) => {
router.push({
pathname: '/search',
query: {
search: searchInput,
},
})
}
Run Code Online (Sandbox Code Playgroud)
NextJS文档
Froms 文档:“组件在 Next.js 应用程序之外使用了 useRouter,或者在 Next.js 应用程序之外呈现。在对使用 useRouter 挂钩的组件进行单元测试时可能会发生这种情况,因为它们没有配置 Next.js 的上下文”。