Javascript 在react路由器dom中将参数传递到不带url的路由

Javascript 在react路由器dom中将参数传递到不带url的路由,javascript,reactjs,react-router-v4,react-router-dom,Javascript,Reactjs,React Router V4,React Router Dom,我试着渲染一些东西,比如whatsapp, 在主屏幕中,所有组都已渲染,当您单击组时,新路由将激活,主屏幕将被禁用, 我希望当用户单击组时,它当然是一个对象 然后,将响应该事件的路由将以某种方式获取组件的group对象,该组件包含到该组的 我将向您展示代码的描述: <Route exact path="/" render={props => ( <GroupScreen groups={this.state.groups} /> )} /> <Rout

我试着渲染一些东西,比如whatsapp, 在主屏幕中,所有组都已渲染,当您单击组时,新路由将激活,主屏幕将被禁用, 我希望当用户单击组时,它当然是一个对象 然后,将响应该事件的路由将以某种方式获取组件的group对象,该组件包含到该组的

我将向您展示代码的描述:

<Route exact path="/" render={props => (
    <GroupScreen groups={this.state.groups} />
)} />
<Route exact path="/conversation_area" render={props => (
    <h1>bla bla</h1>
)} />
在groupsScreen组件中,每个组组件都会获得一个与其相关的组对象, 在主屏幕中的组表示中,您可以单击它,它会将您路由到/conversation\u区域,现在我知道我可以在url中传递组名,然后在this.state.groups上迭代,这将起作用,但我想知道是否有更好的方法在链接和路由之间进行通信

组组件很简单,只是一个在他的道具中获得组对象的组件,以及一个包装组的所有设计的组件


非常感谢

如果组处于状态,则可以筛选状态以仅传入所需的值

<Route exact path="/conversation_area/:group_id" render={props => {
    // filter out the object that you need from the groups.
    const group = props.find(group => props.match.params.group_id === group.id)

    // you now have access to that group information.
    return (
        <h1>bla bla</h1>
)}} />

我将在这里重新构造代码,并使用组件道具传入一个组件。保持路由简单,这将为您以后节省很多麻烦。

谢谢您的回答,您是否在代码中添加了以下内容:此。州。团体。查找。。。?此外,我想知道是否有一种方法可以传递道具,而不只是传递url中的组id,比如链接组件和路由之间的连接。对不起,我不太明白你的要求。不管怎样,我只是在寻找更好的方法,而不是迭代数组并查找用户单击的特定组。