我在重定向到另一个页面时遇到问题。我无法在函数内使用 useNavigate() 。因为它不是一个组件。重定向也不起作用。我怎样才能重定向?
import { redirect, useNavigate } from "react-router-dom";
import { ILogin } from "../Pages/Login/ILogin";
import { decode } from "./encodeDecode";
export const parseToken = () => {
const nav = useNavigate();
try {
const token: ILogin = decode(localStorage.getItem("token"));
return token;
} catch (error) {
console.log(error);
alert("Invalid Credentials");
localStorage.clear();
redirect("/login");
nav("/login");
}
};
当呼叫重定向时它不起作用 当调用 nav 时,它会抛出错误
Line 6:15: React Hook "useNavigate" is called in function "parseToken" that is neither a React function component nor a custom React Hook function. React component names must start with an uppercase letter. React Hook names must start with the word "use" react-hooks/rules-of-hooks
Search for the keywords to learn more about each error.
webpack compiled with 1 error and 1 warning
重定向功能不是标准 React Router API 的一部分,似乎是一种误解或与 useNavigate 挂钩或 Navigate 组件的混淆。