首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用React重定向到外部链接

问使用React重定向到外部链接
EN

Stack Overflow用户
提问于 2020-04-02 20:35:08
回答 3查看 1.2K关注 0票数 0

我已经找到了重定向到外部链接的这个解决方案,它对我的一个页面起了作用。

但对于另一页,它不再有效,我不知道为什么。

redirect.jsx

代码语言:javascript
复制
import React from "react";
import { BrowserRouter, Route } from 'react-router-dom'

export default class Redirect extends React.Component {
    render() {
        return (
            <Route path='/hello' component={() => {
            window.location.href = "example.com";
            return null;}}/>
        );
    }
}

test.jsx

代码语言:javascript
复制
import React from "react";
import ReactDOM from "react-dom";
import {BrowserRouter} from 'react-router-dom'
import MainExport from './components/redirect.jsx';

ReactDOM.render(
    <BrowserRouter>
        <div>
            <MainExport />
        </div>
    </BrowserRouter>, document.getElementById("content")
);

test.html

代码语言:javascript
复制
<html>
  <head>
    <meta charset="utf-8">
  </head>
  <body>
    <div className="App">
        <div id="content" />
    <div/>
    <script src="dist/bundle/test.bundle.js" type="text/javascript"></script>
  </body>
</html>

当我加载这个页面时,我希望它重定向到URL "/hello“并从"example.com”显示页面。

相反,它什么也不做。

我做错了什么?

编辑:有些答案是有帮助的,但都没有奏效。

我发现使用Redirect组件呈现并进行重定向,但在某种程度上这样做,使我的Flask服务器实际上不提供文件。我看到的只是一个空白的屏幕。

将名称更改为MyRedirect也不能使其工作。

使用render而不是component似乎也没有影响。

重定向仍未发生.

(我仍然没有在JS控制台或服务器端看到任何错误消息。)

EN

回答 3

Stack Overflow用户

发布于 2020-04-02 20:39:58

如果使用react路由器,则不需要创建自己的重定向组件。他们已经为你做了一个。

您只需要导入它并将其呈现为重定向。

代码语言:javascript
复制
import React from 'react'
import { Redirect } from 'react-router-dom'

export default () => <Redirect to="/hello" />
票数 1
EN

Stack Overflow用户

发布于 2020-04-02 20:47:37

首先要做的是。路由器按照名称xDDDD来处理路由,但如果usaw要退出应用程序的作用域,则在作用域中。将锚标记添加到用户要单击的按钮中。

注意:它们应该是“a”标签,如果你的网域链接不起作用的话,它的目标是把外接端重定向到你身上。但是如果您仍然希望在yow BrowserRouter上看到,那么在路由组件上使用render,而不是组件

代码语言:javascript
复制
<Route path=“the-path” render={()=>window.location-and-stuff} />
票数 0
EN

Stack Overflow用户

发布于 2020-04-02 23:18:14

看起来我根本不需要使用React :要执行重定向,我可以使用普通的javascript,只需执行window.location.href = "example.com"

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61000663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档