小编Tho*_*tre的帖子

如何使用 React Router 将哈希添加到 url 而不重新渲染?

我想在路线内打开一个 popin,并且想在 url 中添加一个哈希值。

例如 onClick 之前https://www.example.com/homeonClick 之后https://www.example.com/home#send-me-an-email

好吧,它可以工作,但是React Router 会重新渲染整个路由

我在使用 React Router 时做错了什么吗?让我们看看下面我的代码(我简化了事情)

index.jsx我和大家一样使用 BrowserRouter

import React from 'react';
import ReactDOM from 'react-dom';
import { BrowserRouter as Router } from 'react-router-dom';

import App from './App';

const render = Component => {
  ReactDOM.render(
     <Router>
       <Component />
     </Router>,
    document.getElementById('root')
  );
};

render(App);
Run Code Online (Sandbox Code Playgroud)

App.jsx我正在使用 withRouter 因为我需要其他地方的历史记录和位置

import React from 'react';
import { Route, Switch, withRouter } from 'react-router-dom';
import Header from './components/Header';
import Footer …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-router

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

javascript ×1

react-router ×1

reactjs ×1