首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过react路由器将道具传递给另一个组件?

如何通过react路由器将道具传递给另一个组件?
EN

Stack Overflow用户
提问于 2020-07-26 03:41:42
回答 2查看 35关注 0票数 0

我有一个显示调频电台列表的组件。我希望将数据传递给各个组件,因为大多数数据已经存在。但是,我不能重定向到个人FM页面的按钮点击后称为点击我。

我在stackoverflow和其他链接上使用了不同的源码,比如react router difference between component and render https://medium.com/@cristi.nord/props-and-how-to-pass-props-to-components-in-react-part-4-2cc375c17a23

他们都指出我正确地遵循了文档,现在我不确定我该如何解决这个问题。我知道我可以使用路由器钩子来解决这个问题,但我正在尝试了解为什么我不能这样解决它。

Sandbox

EN

回答 2

Stack Overflow用户

发布于 2020-07-26 03:51:25

React-Router旨在根据您所在的url有条件地呈现组件。

要做到这一点,您可以像这样声明Route:

代码语言:javascript
复制
<Switch>
    <Route path="/some-url">
        <MyComponent />
    </Route>
     <Route path="/some-other-url">
        <MyComponent />
    </Route>
<Switch>

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

代码语言:javascript
复制
const history = useHistory();
const onClick = () => {
    history.push("/some-other-url");
};
票数 1
EN

Stack Overflow用户

发布于 2020-07-26 03:52:55

您的onClick将返回Route组件。相反,您应该已经呈现此组件,并呈现Redirect component、调用history.push或简单地使用Link组件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63092799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档