reactjs - 将位置传递给 BrowserRouter 的子级 - React Router

标签 reactjs

我有以下代码:

  <BrowserRouter>
    <IndexComponent />
  </BrowserRouter>

我在里面有一个开关所有的路由。

索引组件.js:

<Switch >
  <Route exact path="/course_info/:id" component={CourseInfoPage} />
    <Route exact path="/"  component={Main} />
    .
    .
    .
</Switch>

我想访问 IndexComponent 中的 location 属性,以便像这样添加过渡动画:

<CSSTransition key={location.key} classNames="fade" timeout={300}>
  <Switch location={location}>
    <Switch >
      <Route exact path="/course_info/:id" component={CourseInfoPage} />
        <Route exact path="/"  component={Main} />
        .
        .
        .
    </Switch>
  </CSSTransition>
</TransitionGroup>

如您所见,我需要 IndexComponent 中的 location 属性。 但它不在那里。为什么不,我应该如何添加它?

最佳答案

我认为传递 location 属性的唯一方法是使用 <Route />

  <BrowserRouter>
    <Route render={(props) => <IndexComponent location={props.location}/> }> </Route>
  </BrowserRouter>

然后做

<CSSTransition key={this.props.location} classNames="fade" timeout={300}>

关于reactjs - 将位置传递给 BrowserRouter 的子级 - React Router,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49698248/

相关文章:

javascript - 未调用 React 事件监听器函数

reactjs - 操作和状态显示在控制台上,但在带有 React Hook 的应用程序上未定义

javascript - 将我的页眉和页脚标签放在 reactjs 中的什么位置

javascript - react -chartjs-2 : Pie Chart tooltip percentage

reactjs - 使用 Electron 锻造打包时如何预编译 typescript

reactjs - 在 React 中创建一个 Web Worker

reactjs - 如何使用 redux-forms 正确设置默认值?

javascript - 如何在 ANTD 设计菜单中添加自定义图像/图标?

javascript - react : input slider trying to limit value of second slider to above first slider

node.js - 使用reactify是否需要安装 `node-jsx`