<Route path="lookbook" component={Photos} onEnter={onPageEnter}>
<Route path=":photoIdentifier" component={PhotoDetailsModal} onEnter={onPageEnter}>
</Route>
</Route>
所以,如果我在 PhotoDetailsModal
和 console.log
this.props
中。我注意到我的 :photoIdentifier
参数存在于两个不同的位置。在 this.props.params.photoIdentifier
中并作为 this.props.routeParams.photoIdentifier
。这两者有什么区别?
最佳答案
routeParams
是 this.props.params
的子集直接在此组件的路由中指定。
例如,如果路由的路径是lookbook/:photoIdentifier
网址为/lookkook/123/photoId/345
那么 this.props.routeParams 将是 {photoIdentifier: '123'}
,和this.props.params
将是{photoIdentifier: '123', photoId: 345}
.
我想这回答了你的问题
关于javascript - React-router:URL参数存在于this.props中的两个不同位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41023901/