看看这个React Router Dom v4示例https://reacttraining.com/react-router/web/example/auth-workflow我看到PrivateRoute组件像这样破坏了一个休息道具
const PrivateRoute = ({ component: Component, ...rest }) => (
<Route {...rest} render={props => (
fakeAuth.isAuthenticated ? (
<Component {...props}/>
) : (
<Redirect to={{
pathname: '/login',
state: { from: props.location }
}}/>
)
)}/>
)
我想确定这{ component: Component, ...rest }
意味着:
从中
props
获取Component属性,然后再提供所有其他属性,然后重命名props
为,rest
这样就可以避免传递给Routerender
函数的属性的命名问题
我对吗?
让我们保持简单。在javaScript中,如果键,值对相同,则obj = {account:account}与obj = {account}相同。因此,当道具从父组件传递到子组件时:
您将通过其余的道具