首頁 > web前端 > js教程 > 如何在 React Router v4 中將自訂 Props 傳遞給子元件?

如何在 React Router v4 中將自訂 Props 傳遞給子元件?

Linda Hamilton
發布: 2024-10-30 14:40:28
原創
762 人瀏覽過

How to Pass Custom Props to Child Components in React Router v4?

如何將自訂Props 傳遞給React Router v4 中的子元件

問題:

範例程式碼:

<code class="javascript">// Parent Component
render() {
  return (
    <Router>
      <div>
        <Switch>
          <Route path="/" exact test="hi" component={Home} />
          <Route path="/progress" test="hi" component={Progress} />
          <Route path="/test" test="hi" component={Test} />
        </Switch>
      </div>
    </Router>
  );
}

// Child Component
render() {
  console.log(this.props); // Returns {match: {...}, location: {...}, history: {...}, staticContext: undefined}
}</code>
登入後複製

解:

要將自訂道具傳遞給子元件,請使用渲染道具來定義與路由內聯的元件:

<code class="javascript">// Parent Component
render() {
  return (
    <Router>
      <div>
        <Switch>
          <Route path="/" exact render={(props) => <Home test="hi" {...props} />} />
          <Route path="/progress" render={(props) => <Progress test="hi" {...props} />} />
          <Route path="/test" render={(props) => <Test test="hi" {...props} />} />
        </Switch>
      </div>
    </Router>
  );
}</code>
登入後複製

在子元件中,如下存取自訂道具:

<code class="javascript">render() {
  console.log(this.props.test); // Returns "hi"
}</code>
登入後複製

注意: 確保將{...props} 傳遞給子元件以保留對預設路由器props 的存取(例如,符合、位置、歷史記錄)。

以上是如何在 React Router v4 中將自訂 Props 傳遞給子元件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板