React-router-dom链接无需更改组件即可更改URL

时间:2020-07-24 05:16:30

标签: javascript reactjs react-router-dom

我有一个s组件,看起来像这样:

Main

它使用了一个我命名为import React from 'react'; import { Provider } from 'react-redux'; import { Router, Route } from 'react-router-dom'; import store from '../store'; import history from '../store/history'; import SideBar from './SideBar'; import { ConnectedUsers } from './UsersPage'; const Main = () => ( <Router history={history}> <Provider store={store}> <div> <SideBar/> <Route exact path="/users" render={ () => (<ConnectedUsers/>)} /> </div> </Provider> </Router> ); export default Main; 的导航组件:

SideBar

这不起作用。当我单击浏览器页面上的“用户”链接时,URL更改为正确的URL(localhost:8080 / users),但页面仍为空白。组件不渲染。如果我将URL import { Link } from 'react-router-dom'; import React from 'react'; const SideBar = () => ( <div> <Link to="/users"> <h1>Users</h1> </Link> </div> ); export default SideBar; 手动放置在浏览器的地址栏中,则组件将正确呈现。

经过一些搜索,我发现有人建议实施这样的路线:

localhost:8080/users

但这对我也不起作用。仍然存在相同的问题-当我在地址栏中手动键入URL时,import React from 'react'; import { Provider } from 'react-redux'; import { Router, Route, withRouter } from 'react-router-dom'; import store from '../store'; import history from '../store/history'; import SideBar from './SideBar'; import { ConnectedUsers } from './UsersPage'; const Main = () => ( <Router history={history}> <Provider store={store}> <div> <SideBar/> <Route exact path="/users" component={withRouter(ConnectedUsers)} /> </div> </Provider> </Router> ); export default Main; 页面会正确显示,但是如果我使用/users导航到该URL,则会显示空白。

0 个答案:

没有答案