登录后react-redux重定向到其他页面

2023-12-31

action.js:

export const login = creds => {
    console.log(`${url}/login`);
    const requestOptions = {
        method: "POST",
        headers: {
            Accept: "application/json",
            "Content-Type": "application/json"
        },
        body: creds
    };

    return function(dispatch) {
        dispatch({ type: LOGIN_REQUEST });
        function timer() {
            return fetch(`${url}/login`, requestOptions).then(response => {
                if (!response.ok) {
                    console.log(response);
                    return response.json().then(json => {
                        var error = new Error(json.message);
                        error.response = response;
                        throw error;
                    });
                } else {
                    console.log("3");
                    return response.json();
                }
            }).then(user => {
                if (user.message === "ok") {
                    localStorage.setItem("token", user.token);
                    dispatch({ type: LOGIN_SUCCESS, payload: user.token });
                    window.location.href = `${app}/dashboard`;
                } else {
                    const error = user.message;
                    throw new Error(error);
                }
            }).catch(function(error) {
                dispatch(loginError(error));
            });
        }
        setTimeout(timer, 5000)
    }
};

我无法以单页方式重定向到我的仪表板,我搜索了很多,但没有得到任何有用的东西。我正在使用 React Router v4。您能否建议我是否以正确的方式使用 JWT 进行此用户登录。


创建一个你自己的history in history.js使用这个文件历史图书馆 https://github.com/ReactTraining/history.

//history.js
import createHistory from 'history/createBrowserHistory'

const history = createHistory()

export default history

将其提供给您的路由器:

<Router history = {history}>.....</Router>

然后你可以使用这个history对象从任何地方重定向。在你的行动中:

import history from './history'
history.push(`${app}/dashboard`)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

登录后react-redux重定向到其他页面 的相关文章

  • 最小的 ExtJS 包是什么?

    有谁知道 Ext JS 2 2 所需的最少文件吗 我知道 ExtJS 网站有一个功能 build http extjs com products extjs build ExtJS ext js 的小版本 作为 ext all js 的替代
  • 从 DOM 中删除后,动态添加的 JavaScript 脚本会继续执行

    因此 我正在创建一个 SPA 并使用 AJAX 将 HTML 页面加载到我网站的索引页面中 问题是 当包含我的一个页面时 它似乎会徘 徊并执行其中的 JavaScript 代码 即使它随后从 DOM 中删除 索引 html 正文 div d
  • 记录jQuery中调用的方法和参数

    假设我有 jQuery 并且加载了几个插件 我运行一些这样的代码 someSelector someMethod someParam someOtherParam someOtherSelector someOtherMethod anot
  • 使用 easyXDM 调整 IFrame 大小

    我将 iFrame 代码提供给客户 以便他们可以显示我网站上的动态内容 我希望其页面上的 iFrame 能够调整大小以适合我的内容 我按照 easyXDM 网站的说明进行操作 但也许我遗漏了一些东西 我没有收到任何错误 但 iFrame 保
  • 如何在react/redux应用程序中以jest方式访问组件的子组件

    我想在 Redux 应用程序中测试 Connect 内的组件 this component TestUtils renderIntoDocument
  • t /= d 是什么意思? Python 和错误

    t current time b begInnIng value c change In value d duration def easeOutQuad swing function x t b c d alert jQuery easi
  • 有没有办法在 TypeScript 2+ 中全局添加类型定义?

    我有一堆简单的 ts files 不是项目 即独立的 ts 脚本 他们使用一些 Node js 功能 TypeScript 和节点类型定义通过安装 npm install g typescript npm install g types n
  • 页面点击其他路径后 $timeout 继续运行

    我在用yo angular fullstack生成器来构建我的网站 当用户注册该网站时 它将发送一封带有链接的激活电子邮件 当用户点击该链接时 会显示激活成功并超时进入主页 但是 当超时未结束 用户点击页面中的任何其他链接时 会跳转到其他页
  • Relay 中的嵌套片段数据始终相同

    我是 Relay 新手 并且遇到了片段上嵌套数据的问题 当我在 graphiql 中进行测试时 以下查询返回正确的数据 因此我确信我的架构是正确的 viewer customers name billing address city 但是
  • django ajax post 403被禁止

    使用 django 1 4 当我尝试从我的 javascript 做我的 django 服务器上的帖子时 我收到 403 错误 我的 get 工作正常 尽管问题仅出在帖子上 也尝试过 csrf exempt但没有运气 更新 我现在可以发布我
  • 禁用任何类型的浏览器窗口滚动?

    有没有办法禁用滚动 不仅仅是滚动条 还有浏览器窗口的全部功能 根据您对 Keit 的回答 您不想在打开灯箱时滚动处于活动状态 如果是这种情况 您可以使用以下 css 在打开灯箱的同时向正文添加一个类 这个解决方案的好处是它保留了滚动 空间
  • 全局定义的 AngularJS 控制器和封装

    根据 AngularJS 的教程 控制器函数仅位于全局范围内 http docs angularjs org tutorial step 04 http docs angularjs org tutorial step 04 控制器函数本身
  • while 循环元素状态 cypress

    我有一个问题 我想单击一个按钮直到它消失 但次数可能会有所不同 所以我想检查可见性状态 当可见 true时单击按钮 当可见 false时结束测试 但问题是我不知道如何循环从获取元素到末尾的所有链 单击按钮一次 由于中断而停止 如果我删除中断
  • IE6 丢失查询字符串

    我有一个使用 javascript 从查询字符串中获取值的页面window location 从网络服务器运行时效果很好 但如果我通过将其放在地址栏中使用 IE6 在本地运行它 c mysite index htm 网站创建的任何查询字符串
  • 优化正则表达式以过滤数千个 HTML 选择选项

    背景 我开发了一个基于 jQuery 的穿梭小部件 https stackoverflow com a 13557000 59087对于 HTMLselect元素 因为我找不到一个经过最低限度编码并提供正则表达式过滤器来补偿的元素变音符号
  • 如何使用 .append() 将 React 组件附加到 HTML 元素

    我正在尝试对我的博客实现无限滚动 我有 const articlesHTML document querySelector articles 作为容器 每次点击装载更多按钮 我想将新文章附加到主 html 元素 如下所示 const res
  • 盒式捆绑包与 MVC4 捆绑包

    我目前正在开发一个原型 ASP NET MVC 3 解决方案 该解决方案将用作多个项目重写的基础 来自 Web 表单 我的目标之一是跨应用程序实现一些脚本管理 而不是我们目前没有的目标 MVC 3有一个缺陷恕我直言 如果您需要在部分视图或模
  • 使用 JavaScript 从 URL 变量读取来加载不同的 CSS 样式表

    我试图在我的 WordPress 博客上使用两个不同的样式表 以便在通过 Web 访问页面时使用一个样式表 而在通过我们的 iOS 应用程序访问博客内容时使用另一个样式表 现在 我们将 app true 附加到来自 iOS 应用程序的 UR
  • 响应式菜单:悬停子菜单显示错误

    简而言之 我根据教程创建了一个响应式菜单 当您将鼠标悬停在投资组合按钮上时 菜单应该显示子菜单 而在移动模式下 您需要按该按钮才能显示子菜单 效果很好 问题是该教程有一个错误 如果您在桌面模式下按组合按钮 子菜单将不会再次显示 除非您按 单
  • jQuery fadeOut 一个 div,fadeIn 另一个 div 在其位置

    我正在尝试一个简单的 jQuery 脚本来淡出一个 div 并淡入另一个 div 但由于某种原因 第一个 div 永远不会淡出 这可能是代码的一个明显问题 但我似乎无法弄清楚 div div div div

随机推荐

  • Windows 头文件中的“#ifdef _MAC”是什么意思?

    我正在浏览 Windows Platform SDK 头文件 真是太棒了 对吧 我注意到很多地方都包含对预处理器符号的引用 MAC 例如 WinUser h line 1568 Message structure typedef struc
  • 控制器策略/垃圾收集(销毁)

    试图找出我的应用程序关于 MVC 的 ember 最佳实践 另外供参考 我正在使用 ember data ember layout 和 ember route manager 我将以用户为例 我觉得我想做的是从数据库中获取用户模型 然后将其
  • 如何用Python做华夫饼图? (方形饼图)

    Something like this 有一个很好的包在 R 中做到这一点 https github com hrbrmstr waffle 在Python中 我能想到的最好的办法就是使用squarify包 灵感来自关于如何制作树形图的帖子
  • 如何在 C# 3.5 中对泛型方法施加接口约束?

    我想在 C 3 5 中实现这样的目标 public void Register
  • Elasticsearch 访问日志

    我正在尝试追踪谁向 ElasticSearch 集群发出查询 Elastic 似乎没有访问日志 有没有地方可以找出哪个 IP 正在访问集群 Elasticsearch 不提供任何开箱即用的安全性 即有目的和有意设计 所以你有几个解决方案 不
  • 如何使用 pdfbox 生成可下载的 PDF(损坏的 PDF)?

    如何使 PDF 文件可通过链接下载 我正在使用 JSF 构建一个 Web 应用程序 当用户单击 另存为 PDF 链接时 应该可以下载 PDF 到目前为止 我有一个生成 PDF 文件的工作代码 但该文件保存在我的桌面上 我想要做的是 当用户单
  • 检测 iPhone 应用程序的 iPad 2x 按钮

    有没有办法检测您的 iPhone 应用程序在 iPad 上运行 2x 1x 我需要能够检测我的应用程序每英寸点数的差异 检查scale财产 UIScreen mainScreen scale 这是一个方便的功能 BOOL screenIs2
  • 将 *.lib 文件与 MinGW 链接

    是否可以链接 lib与 MinGW 一起使用文件 我将其与 Eclipse 一起使用 我正在与 libcurl OpenSSL 作斗争 我不明白我的错误是否是因为我尝试使用 lib MinGW 中的文件或其他错误 lib libeay32
  • 将 Phoenix 项目拆分为应用程序

    Mix 提供了一个伞式项目的功能 其中独立的功能 应用程序 可以一起运行 但可以松散耦合并单独开发 在我的 phoenix 应用程序中 我想将身份验证逻辑移动到一个单独的应用程序中 以便稍后重用它 然而 对于我的身份验证应用程序 模块 我需
  • 如何找到 Hive 中表的上次修改时间戳?

    我正在尝试获取 Hive 中表的最后修改时间戳 请使用以下命令 show TBLPROPERTIES table name transient lastDdlTime
  • 跟踪以查看 AngularJS 中视图何时发生变化

    有谁知道如何在视图改变时使角度射击成为事件 或者在请求并下载视图时 我正在尝试添加页面更改时的加载动画 看一眼这个线程 https groups google com d topic angular OroP1DBE6AA discussi
  • 设置 DataContext 后 PropertyChanged 事件为 null

    我将视图构造函数中视图的 DataContext 设置为 ViewModel 的实例 只是标准的东西 此后不久 一个UPDATE RECENT DOCUMENTS LIST事件从事件聚合器触发 我的 ViewModel 正确捕获了该事件 更
  • 在某些情况下,SVG 在 Safari 中过滤模糊

    我有一个带有交互式 SVG 的页面 它在除 Safari 之外的所有浏览器 Firefox Chrome 甚至 IE Edge 上看起来都很好 其中受 SVG 过滤器之一影响的所有内容都会变成模糊的糊状 看起来像是渲染在低分辨率上的东西 使
  • JQuerymobile 和 Bartender Tabbar - 单独的图标

    我对 JQM 和 CSS 很陌生 所以如果这是一个简单的问题 我很抱歉 我一直在使用 Bartender Tabbar http www stokkers mobi valuables bartender html 和 JQM Barten
  • 都在同一个视图 MVC3 中创建和列出

    所以我想做的是在同一视图中同时创建和列出一个视图 所以我读到我可以为此使用 ViewModel 所以我创建了我的视图模型 Evento ViewModel public class EventoViewModel public Evento
  • 如何使locateCenterOnScreen更准确-PYTHON-,-WINDOWS-

    您好 我的目标是能够让我的机器人在任何屏幕尺寸上单击我选择的内容 因为我认为这是主要问题 我尝试降低置信度 但最终只是点击了具有相同一般颜色的其他内容 我用精确的图像对其进行了测试 它点击了正确的位置 因此它不像坐标已关闭或任何其他东西 它
  • 程序不包含适合入口点的静态“main”方法

    我知道这个问题已经被问了很多次 但似乎没有一个解决方案对我有用 或者我只是无能 需要我的手来解决这个问题 最有可能的解决方案 我查看了所有类 并且所有构建操作都设置为编译 所以我不知道可能出了什么问题 有什么帮助吗 额外细节 我一直在编写游
  • 设置mapView的边界

    我有一个应用程序调用 api 并返回位置列表 返回数据后 我将 JSON 转换为地图点以进行注释 这些都可以毫无问题地添加到 ma 中 我遇到的问题是设置地图的边界 我似乎无法弄清楚 我目前拥有的代码是 handleResponse res
  • 在后台运行 matlab

    我正在 48 个虚拟机上运行 matlab 并且希望将其自动化 我通过 ssh 进入机器然后使用matlab r matlab command gt outfile txt 让进程在后台运行并在我注销时正常运行 唯一的问题是当我jobs我的
  • 登录后react-redux重定向到其他页面

    action js export const login creds gt console log url login const requestOptions method POST headers Accept application