Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs react'Router'组件如何与'Route'组件通信?_Reactjs_React Router Dom - Fatal编程技术网

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,