【发布时间】:2021-06-26 17:04:31
【问题描述】:
我们在使用render prop的时候,为什么要指定component prop为:
component: Component
所有其他道具都使用常规的解构语法:
exact
这是否特定于 React Router DOM,或者这通常是您在 React 中传递组件的方式?如果是这样,为什么我们必须使用这种语法?
【问题讨论】:
-
您能否展示一个包含更多context 的示例?你在说reactrouter.com/web/api/Route/render-func吗?在这种情况下,
{ component: Component, ...rest }中的冒号是为了有效地 renamecomponent属性,参见例如stackoverflow.com/q/51959013/3001761. -
谢谢你,这就是我所指的功能。你知道我们为什么要重命名组件属性吗?
-
因为它在 JSX 中使用。如果你把
<component />解释为一个字符串,React.createElement("component"),而<Component />被解释为一个标识符,React.createElement(Component)。
标签: javascript reactjs react-router-dom