Я нашел это решение для перенаправления на внешнюю ссылку, и оно сработало для одной из моих страниц.
Но для другой страницы оно больше не работает, и Я не уверен почему.
redirect.jsx
:
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
:
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
:
<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 или на стороне сервера .)