javascript - 处理来自外部服务器的重定向

标签 javascript reactjs react-router

我有一个功能,当用户单击按钮时,他/她将被重定向到外部网站,一旦工作完成,用户将通过如下查询导航回他/她的原始页面,

http://localhost:3000/settings/online-order?status=complete

我需要的是,当用户使用这样的查询重定向时,我需要执行ajax调用。我可以在我的 OnlineOrderComponent 上的 componentDidMount 上执行此操作,但我不知道它是否正确。

我已经在单独的 routes.js 文件中定义了我的路线,并尝试像这样处理它,

<Route path="settings/online-order" component={OnlineOrderComponent}/>
<Route path="settings/online-order?status=complete" onEnter={/*do something here*/}/>

这似乎是非常错误的。如果你们中的任何一位专家能指出我实现这一目标的正确方向,我将不胜感激。如果这含糊不清,我深表歉意,如果需要,我会澄清:)谢谢

最佳答案

使用componentDidMount可能是最简洁的方法。看来你正在使用 react 路由器。你可以这样做:

export Component extends React.Component {
    componentDidMount() {
        if (this.props.location.query.status && this.props.location.query.status === 'complete' ) {
            // do something
        } else {
            // do something else
        }
    }
}

关于javascript - 处理来自外部服务器的重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37803999/

相关文章:

javascript - React-router:在链接和 map 匹配数据中传递 Prop

reactjs - React Router Dom 在网站加载时更改 URL

javascript - 这个 Fibonacci 解决方案如何在 JavaScript 中工作?

javascript - 检查 node.js 模块是否可用

javascript - 同一类对象上的动画,一次一个

javascript - React - 何时使用钩子(Hook),何时使用 HOC

javascript - 使用 CSSTransitionGroup 和 React-Router v6 动画路由过渡

javascript - PHP 单击链接而不是行切换

reactjs - 如何在 reactjs 中重新加载组件(页面的一部分)?

javascript - 将工具提示添加到禁用的 Dropdown.Toggle