我希望将我的reactjs页面重定向到常规的html页面,点击我点击链接按钮。
这是我的代码:
App.js
import React, { Component } from 'react';
import { BrowserRouter as Router, Switch, Route, Link } from 'react-router-dom';
import './App.css';
// import DoctorImg from './doctor.jpg';
class App extends Component {
render() {
return (
<Router>
<div>
<Link to="/Users/yashchoksi/Documents/route/src/normal_redirect.html">Press</Link>
<Switch>
<Route exact path="/Users/yashchoksi/Documents/route/src/normal_redirect.html"/>
</Switch>
</div>
</Router>
);
}
}
export default App;
其他档案是
normal_redirect.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Check this.</title>
</head>
<body>
<p>This is redirected page.</p>
</body>
</html>
答案 0 :(得分:1)
要静态链接到其他页面,只需使用标准HTML锚标记:
<a href="normal_redirect.html">Redirect to Html page</a>
当用户点击该链接时,它是标记的href
值的正常页面导航。
要动态地将用户发送到其他网页,请使用<Route>
组件的render
属性:
<Route exact path="/normal_redirect" render={() => {window.location.href="normal_redirect.html"}} />
基本上,使用Route
组件的render
属性告诉浏览器导航到其他页面:https://reacttraining.com/react-router/web/api/Route
试试这个:
class App extends Component {
render() {
return (
<div>
<a href="/Users/yashchoksi/Documents/route/src/normal_redirect.html">Press</a>
</div>);
}
}
请注意我是如何从代码中删除Router
,Route
,Switch
和Link
组件的。对于普通链接,您不需要任何链接。
答案 1 :(得分:0)
您的HTML必须位于您的公用文件夹中,在我的情况下为terminos.html
App.js
中,添加以下代码: <Route exact path="/terminos" render={() => {window.location.href="terminos.html"}} />
<a/>
,请添加以下代码: <a target="_blank" href={process.env.PUBLIC_URL + "terminos.html"} > terminos</a>