gpt4 book ai didi

javascript - 这是类型注释、对象还是其他什么?

转载 作者:行者123 更新时间:2023-12-03 21:14:53 24 4
gpt4 key购买 nike

我在看 this code example并偶然发现了这种语法:

import React, { Component } from 'react';

const PrivateRoute = ({component:Component, ...rest}) => (
//(...)
<Component {...props} />
// (...)
);

我对 :Component 部分感到困惑。这看起来像一个静态类型注释,并且有点像通用注释,但这是 Javascript,所以它只能是一个对象,对吧?如果这是一个对象,是否意味着该函数正在将一个默认的空 Component 对象分配给它自己的参数?如果是这样,它如何能够从调用者那里接收到它,例如(根据示例):

<PrivateRoute path="/protected" component={Protected} />

最佳答案

这是命名对象 destructuring来自 ES6。下面

const PrivateRoute = ({component:Component, ...rest}) => (

意味着任何将作为 component 属性传递给 PrivateRoute 的内容,都可以通过 Component 变量使用它。

关于javascript - 这是类型注释、对象还是其他什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52929289/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com