首頁 > web前端 > js教程 > 主體

如何在 React Router 的連結中將 Props 傳遞給目標元件?

Linda Hamilton
發布: 2024-10-31 21:38:02
原創
737 人瀏覽過

How to Pass Props to Target Components in React Router's Link?

在 Link React-Router 中傳遞 Props

React-Router 的 Link 元件允許將屬性傳遞給目標元件。然而,確保正確的路由配置以促進資料傳輸至關重要。

當路由路徑與預期的屬性擷取不符時,就會出現問題。在提供的程式碼中,對於目標元件缺少對應的路徑:

<Route name="ideas" handler={CreateIdeaView} />
登入後複製

要解決問題並透過連結傳遞屬性,請在路由配置中指定路徑,確保其與 中的參數對齊。元件:

<Route name="ideas" path="/:testvalue" handler={CreateIdeaView} />
登入後複製

:testvalue 佔位符參數對應於 中傳遞的屬性:

<Link to="ideas" params={{ testvalue: "hello" }} />
登入後複製

現在可以在目標元件的render 方法中存取屬性:

render: function() {
  console.log(this.props.match.params.testvalue); // logs "hello"
}
登入後複製

在功能組件中使用鉤子,你可以像這樣訪問props:

const CreatedIdeaView = () => {
  const { testvalue } = useParams();
  console.log(testvalue); // logs "hello"
}
登入後複製

或者,如果你需要傳遞查詢參數而不是路徑參數,你可以像這樣使用它:

<Link to={{pathname: '/ideas', query: {testvalue: "hello"}}} />
登入後複製

目標組件中:

componentDidMount() {
    console.log(this.props.location.query.testvalue) // logs "hello"
}
登入後複製

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!