当前位置: 首页 > 知识库问答 >
问题:

如何在函数内以编程方式重定向?[副本]

易宏阔
2023-03-14

我有一个singinUser函数,当用户单击submit按钮时调用该函数。我希望用户在获取数据完成时重定向到另一个url。在以前版本的react中,我经常使用'react-router'中的browserHistory。在路由器4中我应该做什么?

import axios from 'axios';
    const ROOT_URL = 'http://localhost:3090';

    export const signinUser = ({ email, password }) => {
        return (dispatch) => {
            axios.post(`${ROOT_URL}/signin`, { email, password })
                .then(response =>{
                    //I want to redirect
                })
                .catch(err=>{

                })
        }
    }

共有1个答案

严天逸
2023-03-14

这是我个人在应用程序中对受保护路由执行重定向的方式:

const GuestRoute = ({ component: Component, ...rest }) => (
  <WebServiceContextConsumer>
    {
      context =>
        <Route
          {...rest}
          render={props =>
            context.auth.getUser() 
              ? (<Redirect to={{pathname: "/", state: { from: props.location }}} />) 
              : (<Component {...props} />)
          }
        />
    }
  </WebServiceContextConsumer>
);

你需要把你的观点和逻辑分开。执行whatever调用,然后使用promise捕获响应并在视图组件中以您想要的方式处理它。

 类似资料:
  • 我对使用Swift的UIKit相对较新。目前,我正在尝试制作一个简单的UITableView,其中包含每个单元格的几个UILabels(纯粹以编程方式),尽管我在尝试这样做时遇到了很多麻烦。我的代码如下: 这是当前在模拟器中显示的内容。 这是我想看到的。 我如何着手改变我先前存在的代码以得到我所寻求的最终结果?我有一种感觉,这与我的代理或数据源有关,但无论我做什么,我似乎总是迷路。任何帮助都将不胜

  • 如何以编程方式在Spring Boot中将内容添加到endpoint?文档指出,通过使用接口,这对于endpoint是可能的。endpoint也有什么吗? 我想在那里添加操作系统名称和版本以及其他运行时信息。

  • 在iOS 5中,我们可以通过编程方式更改设备方向,如下所示: 但是iOS6已弃用,我如何在iOS6中以编程方式更改设备方向?

  • 问题内容: 我正在尝试提取网页A的内容。使用groovy我尝试了以下操作 上面的代码检索webPage A的文本,只要它不重定向到另一个网页B。如果A重定向到B,则在pageText变量中检索webPage B的页面内容。有没有一种方法可以编码和检查webPage A是否重定向到其他网页(使用groovy或Java)? PS:上面的代码不是服务器端逻辑的一部分。我在桌面应用程序范围内的客户端上执行

  • 我已经阅读了很多关于这个主题的文档和软件问题,我用了很多方法来做这些,但是没有一个能以我需要的方式工作。我想我错过了一些重要的事情。很难就我使用的每个导航方法提供详细和相关的代码,我会试试。 这里有一些指间信息。我有react redux应用程序,我需要从服务器获取状态并根据此状态重定向到页面。 my App类渲染方法的简化版本: 在index.js文件中用BrowserRouter包装的应用程序

  • 我正在使用AutoLayout开发iPad应用程序,如果用户启用某个模式(“平视”模式),我希望只支持纵向(或纵向倒置)方向,而且,如果设备处于横向,我希望自动切换到纵向模式。 在顶视图控制器中,我有以下内容: 根据我在这里其他地方看到的答案,答案似乎是我应该使用“application SetStatusBaroOrientation”。因此,在用户选择“抬头”模式的方法中,我包括: 然而,这似