簡體   English   中英

我如何通過反應路由器將道具傳遞給另一個組件?

[英]How do i pass the props to another component via react router?

我有一個顯示 FM 電台列表的組件。 我想將數據傳遞給單個組件,因為大部分數據已經存在。 但是,單擊名為 Click me 的按鈕后,我無法將頁面重定向到單個 FM 頁面。

我在 stackoverflow 和其他鏈接上使用了不同的來源,例如組件之間的反應路由器差異和渲染https://medium.com/@cristi.nord/props-and-how-to-pass-props-to-components-in-反應部分 4-2cc375c17a23

他們都指出我正確地遵循了文檔,現在我不確定如何解決這個問題。 我知道我可以使用路由器掛鈎來解決此問題,但我正在嘗試了解為什么我不能像這樣解決它。

沙盒

React-Router 旨在根據您所在的 url 有條件地渲染組件。

為此,您可以像這樣聲明 Route:

<Switch>
    <Route path="/some-url">
        <MyComponent />
    </Route>
     <Route path="/some-other-url">
        <MyComponent />
    </Route>
<Switch>

然后,您可以使用<Link>重定向到特定的 url 或執行以下操作:

const history = useHistory();
const onClick = () => {
    history.push("/some-other-url");
};

您的onClick正在返回一個Route組件。 相反,您應該已經渲染了這個組件,然后渲染一個Redirect組件,調用history.push ,或者簡單地使用一個Link組件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM