为什么道具不传递给子组件Route React?

时间:2020-02-22 15:44:43

标签: javascript reactjs react-router frontend

我正在尝试使用ReactJS构建SPA,并且在获取url参数时遇到问题。 您能向我解释以下两种方法之间的区别吗?

<Route exact path="/blog/:slug.:id" component={BlogDetail}/>
-------------------------------------------------------
<Route exact path="/blog/:slug.:id">
 <BlogDetail/>
</Route>

使用第一种方法,我可以从 BlogDetail组件中的道具中获取子弹和ID。但是第二个不是。 为什么? 请帮助我:D 对不起,我的英语不好。

1 个答案:

答案 0 :(得分:0)

Route的{​​{1}}是render prop。拥有渲染道具将保证component向下传递到渲染组件,第一种方法就是这种情况。但是,它封装在props组件中。

第二种方法RouteBlogDetail的子级。为了能够使用路线道具,应将其显式传递给子组件。