尝试使用 js 跳转页面,所以使用了 withRouter 。报错如下:
版本:
"react": "^16.3.1",
"react-dom": "^16.3.1",
"react-router": "^4.2.0",
"react-router-dom": "^4.2.2",
组件 TestComponent.js
:
import React, { Component } from 'react';
import { withRouter } from "react-router-dom";
class TestComponent extends Component {
render() {
return (
<div></div>
)
}
}
export default withRouter(TestComponent );
路由配置 router.js
:
import TestComponent from './TestComponent ';
const routes = [
{
path: '/testComponent ',
component: TestComponent ,
},
];
export default routes;
入口 index.js
import React from 'react';
import ReactDOM from 'react-dom';
import {
Switch,
BrowserRouter as Router,
Route,
} from 'react-router-dom';
import routes from './routes';
const RouteWithSubRoutes = (route) => (
<Route path={route.path} render={props => (
// pass the sub-routes down to keep nesting
<route.component {...props} routes={route.routes}/>
)}/>
)
const Main = () => (
<div>
<Router>
<Switch>
{routes.map((route, i) => (
<RouteWithSubRoutes key={i} {...route}/>
))}
</Switch>
</Router>
</div>
);
ReactDOM.render(<Main />, document.getElementById('root'));
求解,谢谢。