如何通过“react-router-dom”重定向到函数内的另一个页面:“^6.21.1”?

问题描述 投票:0回答:1

我在重定向到另一个页面时遇到问题。我无法在函数内使用 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
reactjs typescript react-router-dom
1个回答
0
投票

重定向功能不是标准 React Router API 的一部分,似乎是一种误解或与 useNavigate 挂钩或 Navigate 组件的混淆。

© www.soinside.com 2019 - 2024. All rights reserved.