简体   繁体   English

重定向到 react.js 中的 static html 页面

[英]Redirect to a static html page in react.js

I am learning React, so this question may make no sense but I want to learn it.我正在学习 React,所以这个问题可能没有意义,但我想学习它。

I have index.html page and I want to jump to Components.html page.我有 index.html 页面,我想跳转到 Components.html 页面。

RouteToComponent.jsx RouteToComponent.jsx

import React from 'react';

class RouteToComponents extends React.Component {
    render() {
        return (
            <div>
                <a href="Components/Components.html">Components</a>
            </div>
        );
    }
}

export default RouteToComponents;

RouteToComponent.jsx is called inside index.jsx RouteToComponent.jsxindex.jsx中被调用

index.jsx索引.jsx

import React from 'react';
import ReactDOM from 'react-dom';
import RouteToComponents from './BasicJSX/RouteToComponents.jsx';

class App extends React.Component {
    render() {
        return (
            <div>
                Hello World!!!
                <RouteToComponents />
            </div>
        );
    }
}

ReactDOM.render(<App />, document.getElementById('root'));

export default App;

components.jsx组件.jsx

import React from 'react';
import ReactDOM from 'react-dom';

class App extends React.Component {
    render() {
        return (
            <div>
                Entered Components HTML!!!
            </div>
        );
    }
}

ReactDOM.render(<App />, document.getElementById('root'));

export default App;

But when I click on a tag URL changes but the page remains same.但是当我点击一个标签 URL 改变但页面保持不变。

Wrap your App.js with Router and define Routes.用路由器包装你的 App.js 并定义路由。 <Route /> allows us to define all paths of our Application. <Route />允许我们定义应用程序的所有路径。

import {
  BrowserRouter as Router,
  Switch,
  Route,
  Link
} from "react-router-dom";
import RouteToComponents from './RouteToComponents.jsx';
import AnyComponent from './AnyComponent';
import App from './App.jsx';

return (
 <Router>
   <RouteToComponents />
   <Switch>
     <Route exact path="/" component={App} />
     <Route path="/Components/Components.html" component={AnyComponent} />
   </Switch>
  </Router>
);

Now in your Component where you want to use Link.现在在您要使用链接的组件中。 In React <Link /> is used instead of anchor.在 React 中,使用<Link />代替锚点。

import { Link } from "react-router-dom";

return (
    <div>
       <Link to="Components/Components.html">Components</Link>
       <Link to="/">Home</Link>
    </div>
 );

to in Link attribute is similar to href in anchor.链接属性中的 to 类似于锚点中的 href。

Remember:记住:

  1. npm i react-router-dom npm i react-router-dom
  2. to attribute of Link must be similar to the path defined in App.js Route. Link 的 to 属性必须与 App.js Route 中定义的路径相似。 Because when you click on Link it matches Routes in App.js因为当您单击链接时,它与 App.js 中的路由匹配

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM