可以使用 React 的高阶组件 withRouter 将 Search 组件包裹起来,这样就可以在 Search 组件中获取到路由相关的 props,而不需要将 Search 组件直接渲染在 Router 中。
示例代码如下:
import React from 'react';
import { withRouter } from 'react-router-dom';
class Search extends React.Component {
// 在 Search 组件中可以直接使用 this.props.history、this.props.location、this.props.match 等路由相关的 props
...
}
export default withRouter(Search);