在React-Router渲染功能中访问URL参数

Fel*_*lix 3 javascript reactjs react-router react-router-v4

这是一个快速的问题,但到目前为止我还没有找到解决方案:

我想使用render方法使用react-router v4访问URL参数。到目前为止,我发现的所有内容都只是通过了这样的组件:

<Route path="/:id" component={Child} />

但是我想使用如下的render方法:

<Route path="/:id" render={() => (<Wrapper> <Child /> </Wrapper>)} />

但是,match当我尝试在组件中访问id参数时,prop是未定义的。props.match.params.idChild

知道如何使用渲染功能并仍然访问url参数吗?

Tom*_*zyk 7

您需要将道具从传递RouteChild

<Route path="/:id" render={(props) => (<Wrapper> <Child {...props} /> </Wrapper>)} />
Run Code Online (Sandbox Code Playgroud)

要么 :

<Route path="/:id" render={(props) => (<Wrapper> <Child id={props.match.params.id} /> </Wrapper>)} />
Run Code Online (Sandbox Code Playgroud)