Asi*_*sik 2 javascript reactjs
我正在看这个代码示例,并偶然发现了这种语法:
import React, { Component } from 'react';
const PrivateRoute = ({component:Component, ...rest}) => (
//(...)
<Component {...props} />
// (...)
);
Run Code Online (Sandbox Code Playgroud)
我对这:Component部分感到困惑.这看起来像一个静态类型的注释,其行为类似于泛型,但这是Javascript所以它只能是一个对象,对吧?如果这是一个对象,这是否意味着该函数将默认的空Component对象分配给它自己的参数?如果是这样,它如何能够从调用者接收它,例如(根据示例):
<PrivateRoute path="/protected" component={Protected} />
Run Code Online (Sandbox Code Playgroud)
这是从ES6 命名的对象解构.下面
const PrivateRoute = ({component:Component, ...rest}) => (
Run Code Online (Sandbox Code Playgroud)
意味着,无论将被传递到PrivateRoute作为component属性,可以使用使用Component变量.
| 归档时间: |
|
| 查看次数: |
47 次 |
| 最近记录: |