为了账号安全,请及时绑定邮箱和手机立即绑定

{...status}这种写法怎么理解

{...status}这种写法怎么理解

Cats萌萌 2019-03-05 08:29:40
在学react-hooks时看到这样一段代码function Box(props) {  const [value, setValue] = useState(0)    let status = useSigninStatus(false) function Incv(){   return setValue(value+1)  } function Decv(){   return setValue(value-1)  } return(    <div >      <header>        <Signin {...status} />        <Counter isSignin={status.isSignin}  value={value} Incrm={Incv} Decrm={Decv} />      </header>    </div>  ) }value={value}我懂,不过Signin这里直接写{...status}我没见过,想问一下怎么理解,是特殊的语法吗?
查看完整描述

2 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

这种写法类似于python中的**kwargs,比如我们的 status 是:

status = {    arg1: '1',    arg2: '2'};

那当我们使用 {...status}这样的语法时就相当于将对象里的键和属性相对应

<Signin {...status} /><!--等价于--><Signin arg1='1' arg2='2' />


查看完整回答
反对 回复 2019-03-05
?
GCT1015

TA贡献1827条经验 获得超4个赞

扩展运算符( spread )是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。

console.log(1, ...[2, 3, 4], 5) 
1 2 3 4 5


查看完整回答
反对 回复 2019-03-05
  • 2 回答
  • 0 关注
  • 838 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号