Tah*_*sin 10 react-router react-router-v4
我有以下代码:
import {
BrowserRouter as Router,
Route,
Link
} from 'react-router-dom'
const Routes = () => (
<Router basename="/blog">
<div>
<Header />
<Route exact path="/" component={Main}/>
<Route path="/article/:id" component={ArticleView}/>
</div>
</Router>
)
Run Code Online (Sandbox Code Playgroud)
我可以通过Main和ArticleView组件中的props访问历史记录或匹配.但我无法访问它<Header />.有没有办法在Header组件中获取历史对象?
Tyl*_*nis 24
您可以使用withRouter HOC.
在定义了Header组件的位置,将导出包装在withRouter调用中,如下所示,将使您的Header组件可以访问匹配,位置和历史记录
import {withRouter} from 'react-router'
class Header extends Component {
static propTypes = {
match: PropTypes.object.isRequired,
location: PropTypes.object.isRequired,
history: PropTypes.object.isRequired
}
render () {
const { match, location, history } = this.props
return <h2>The Header</h2>
}
}
export default withRouter(Header)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7282 次 |
| 最近记录: |