React JS React-router-dom 导航不工作

2024-01-02

我尝试在登录我的 React 应用程序后重定向用户,但导航不起作用,我不知道为什么......

这是我的代码,感谢您的帮助

import React, { Component } from "react";
import {Route, Navigate} from 'react-router-dom';
import Bouton from "../components/Bouton";

class Dallan extends Component{
    logout = () =>{
        localStorage.removeItem('logged');
        return <Navigate to= '/login' />;
    }
    render(){
        return(
            <Bouton typeBtn = 'btn-danger' click={() => this.logout()}>Deconnexion</Bouton>
        )
    }
}

export default Dallan;

在我的 App.js 中


function App() {
  let session = localStorage.getItem('logged');
  return (
    <BrowserRouter>
    <Routes>
    <Route path="/" element={session ? <Navigate to="/dallan" /> : <Login/>} />
       <Route path='/dallan' element={<Dallan/>}/>
    </Routes>
    </BrowserRouter>
 
  );
}

export default App;

如果您使用的是 React Route dom v6,我假设您使用的是<Navigate /> then <Navigate />是一个需要渲染才能工作的组件。您只是将其恢复为空,因此它显然不会呈现。您想使用useNavigate()改为钩子。但是您将需要使用函数组件来使用钩子。就像这样:

import React, { Component } from "react";
import {Route, useNavigate} from 'react-router-dom';
import Bouton from "../components/Bouton";

function Dallan() {
    const navigate = useNavigate();
    const  logout = () =>{
        localStorage.removeItem('logged');
        navigate('/login')
    }

    return(
        <Bouton typeBtn = 'btn-danger' click={() => logout()}>Deconnexion</Bouton>
    )
}

export default Dallan;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React JS React-router-dom 导航不工作 的相关文章

随机推荐

  • JSF 转换标题属性的日期

    我需要将日期放入图像的标题属性中 以便当用户将鼠标悬停在图像上时显示该日期 问题是我想更改日期格式 有任何想法吗
  • 在子函数中访问循环迭代?

    我正在使用 Google Maps API 在地图上绘制多个点 然而 在下面的点击事件函数中 i始终设置为 4 即迭代循环后的值 note these are actual addresses in the real page var ad
  • Android apk安装:如何清除旧版本的文件?

    当我安装新版本的 apk 时 这会覆盖旧版本而不删除它 在新版本中 我删除了一些文件 使用 NDK 生成的库 但在设备上 旧文件仍然存在 如何确保每当安装新版本时 所有旧文件都会在安装前被删除 编辑 澄清 这个问题要求为我的应用程序的现有用
  • java.io.IOException:无法获取锁定

    得到错误为 java io IOException 无法获取 log abc log 的锁定 不知道为什么会发生这种情况 有人可以帮我吗 谢谢 logger LogManager getLogManager getLogger classN
  • 在临时对象上调用成员函数时生成警告

    给定一个矩阵模板类mat
  • 从 pyparsing 获取嵌套命名结果

    我正在修改 pyparsing fourFn 示例以接受变量 评估已经有效 现在我希望能够解析字符串并输出所需变量的列表 我希望它的工作方式如下 from my module parser import FormulaParser form
  • 如何显示来自单独 NIB 的工作表

    如何将一个窗口放在一个单独的 NIB 中 给它自己的 NSWindowController 让它作为一张纸滑出 这是与床单有关的典型事情吗 我试图从主窗口显示自定义工作表 从父窗口的标题栏向下滑动的窗口 我认为我想做的是标准的 但我找不到明
  • 如何检测 C# Windows 窗体代码在 Visual Studio 中执行?

    是否有变量或预处理器常量可以让您知道代码是在 Visual Studio 上下文中执行的 Try 调试器 IsAttached http msdn microsoft com en us library system diagnostics
  • PHP 按键和值比较两个多维数组

    我正忙于学习 PHP 正在寻找一种方法来通过键和值比较两个关联数组 然后找到两者的差异 即 如果我有一个关联数组 array size 2 x15z gt int 12 length 2 x16z gt int 3 length 1 另一个
  • fsevents 导致模块解析失败:意外字符“�”

    我在用next js我得到 Failed to compile node modules fsevents fsevents node 1 0 Module parse failed Unexpected character 1 0 You
  • 无法使用 xpath 获取 YouTube 视频的持续时间

    我想写一些东西来返回 YouTube 链接的视频持续时间 所以我发现requests and lxml并开始遵循this http docs python guide org en latest scenarios scrape guide
  • 使用 HTML 和 CSS 的可折叠列表

    我有一个使用 HTML 和 CSS 实现的可折叠列表 该列表工作正常 但我需要一些修改 每当我单击列表中的某个项目时 它就会展开 但是 当我单击同一列表中的另一项时 先前展开的元素会折叠 而单击的元素会展开 请帮助我应用可以同时展开多个列表
  • 比“while”循环更快的方法来查找 R 中的感染链

    我正在分析存储疾病模拟模型输出的数据的大型表 300 000 500 000 行 在模型中 景观中的动物会感染其他动物 例如 在下图示例中 动物a1感染景观中的每一种动物 并且感染从一个动物转移到另一个动物 形成感染 链 在下面的示例中 我
  • Java有惰性求值吗?

    我知道 Java 在这种情况下有智能 惰性评估 public boolean isTrue boolean a false boolean b true return b a b a b is not evaluated since b i
  • 我可以确定 KeyEventArg 是字母还是数字吗?

    有没有办法确定键是否是字母 数字 A Z 0 9 在里面KeyEventArgs 还是我必须自己做 我找到了一种方法e KeyCode http bytes com topic net answers 598606 c keyeventar
  • spring - @ContextConfiguration 无法在 src/test/resources 中加载配置文件

    我尝试使用以下抽象类在 src test resources 类路径中加载 spring 配置文件 RunWith SpringJUnit4ClassRunner class ContextConfiguration locations c
  • 从 Visual C++ DLL 导出非托管类?

    当使用 Visual C 2008 创建 DLL 时 我有几个选择 我可以创建一个 班级图书馆 我知道它实际上会给我一个使用 C 的 CLI 托管 扩展的 Net 库 因为我不希望这样 并且我假设我需要一个静态 LIB 文件来链接到另一个
  • 如何使用 CSS 或 HTML 将特定的 HTML 行和列加粗?

    我想将 HTML 表格的第一行和第一列 第 0 行和第 0 列 加粗 如何使用 HTML 或 CSS 来实现这一点 桌子 table border 1 tbody tr td td td translate com AND https tr
  • ASP.NET Core:如何获取远程IP地址?

    我尝试获取远程 客户端 IP 地址 var ip httpContext Features Get
  • React JS React-router-dom 导航不工作

    我尝试在登录我的 React 应用程序后重定向用户 但导航不起作用 我不知道为什么 这是我的代码 感谢您的帮助 import React Component from react import Route Navigate from rea