Reactjs react'Router'组件如何与'Route'组件通信?
我知道Reactjs react'Router'组件如何与'Route'组件通信?,reactjs,react-router-dom,Reactjs,React Router Dom,我知道Router组件,比如BrowserRouter创建了一个历史对象,用于跟踪路径等等,并且Route组件仅在其路径与当前位置匹配时才呈现其视图,我假设该位置是从历史中读取的。我的问题是路由组件如何访问由浏览器路由器创建的历史对象。是否正在进行一些幕后通信使之成为可能?这是一个上下文api“魔术”。 呈现: 类浏览器路由器扩展React.Component{ history=createHistory(this.props); render(){ 返回; } } 呈现: 正是我想要的答案。
Router
组件,比如BrowserRouter
创建了一个历史对象,用于跟踪路径等等,并且Route
组件仅在其路径与当前位置匹配时才呈现其视图,我假设该位置是从历史中读取的。我的问题是路由
组件如何访问由浏览器路由器
创建的历史对象。是否正在进行一些幕后通信使之成为可能?这是一个上下文api“魔术”。
呈现
:
类浏览器路由器扩展React.Component{
history=createHistory(this.props);
render(){
返回;
}
}
呈现
:
正是我想要的答案。你是个了不起的人,我已经觉得很聪明了!
class BrowserRouter extends React.Component {
history = createHistory(this.props);
render() {
return <Router history={this.history} children={this.props.children} />;
}
}
<RouterContext.Provider
children={this.props.children || null}
value={{
history: this.props.history,