我想在路线内打开一个 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)