將自訂props 傳遞給React Router v4 中的Router 元件
使用React Router 建置React 應用程式時,通常需要傳遞自套定義props路由樹中的子組件。在 React Router v4 中,存取透過路由器傳遞的 props 可能會帶來挑戰,因為 this.props.route 可能不會總是可用。
要解決這個問題,一個方法是利用 Route 元件的 render prop 。這允許內聯元件定義和方便的渲染,而不需要單獨的元件檔案。
根據React Router文檔,Route的render prop接收與元件render prop相同的route prop。因此,可以透過修改Route 定義來傳遞自訂prop,如下所示:
<Route path="/" exact render={(props) => (<Home test="hi" {...props}/>)} />
在子元件(Home)內,可以透過this.props.test 存取自訂prop:
this.props.test
需要注意的是,在路由定義中必須使用{...props} 擴展運算符,以確保預設的路由器屬性(例如位置、歷史記錄和匹配)也傳遞給子級
透過利用render prop,開發者可以方便地將自訂props 傳遞給React Router v4 中的子路由器元件,增強路由架構的靈活性和可維護性。
以上是如何在 React Router v4 中將自訂 Props 傳遞給 Router 元件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!