javascript - 如何在 react 路由器中始终显示默认组件

标签 javascript reactjs react-router-v4 react-router-dom

我想在每个路由中始终显示标题页。如何做到这一点。我希望 props.history 可以在该 header 组件内访问,这样如果我单击任何内容,我可以使用 props.history.push(); 导航到其他页面

     <BrowserRouter>

    <div>
      <Header/> // I want history in this component
        <Route exact path="/" component={HomePage} />
        <Route  path="/page1" component={Page1} />
        <Route path="/page2" component={Page2} />

    </div>
</BrowserRouter>

);

最佳答案

使用 Switch 一次渲染一条路线。如果您想要 header 组件中的历史记录,请使用react-router中的withRouter。 (历史记录将作为 Prop 传递给 header 组件)

https://reacttraining.com/react-router/web/api/withRouter

/* header component */
import { withRouter } from 'react-router'
export default withRouter(Header)

/* router component */
<BrowserRouter>
    <div>
        <Header/> // I want history in this component
        <Switch>
            <Route exact path="/" component={HomePage} />
            <Route  path="/Picklistscreen" component={PickListArea} />
            <Route path="/scanarea" component={ScanArea} />
        </Switch>
    </div>
</BrowserRouter>

关于javascript - 如何在 react 路由器中始终显示默认组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52483439/

相关文章:

javascript - 将 "Route children"和 "cloneElement"转换为 RouterV4

javascript - Ember 。当用户刷新网站时保留下拉菜单中的选择

javascript - 在页面加载时获取 localStorage 值

azure - 仅 JS 前端的 IIS URL 重写规则出现问题

javascript - React JS,尝试从数组获取第一个值时未定义错误 no-undef

javascript - 由于缺少 &lt;script&gt;,无法看到“关于”页面路由,但能够到达“主页”路由

javascript - NodeJS 转义反斜杠

javascript - 通过javascript在弹出图像上添加下一个和上一个

javascript - 在 React 中获取 POST API 的响应

javascript - react 未找到组件总是呈现