使用ES6扩展运算符实现道具语法

ran*_*its 1 javascript ecmascript-6 reactjs

我在React应用程序中注意到以下内容:

<UserList
  {...{ userIdsTyping, users }}
/>
Run Code Online (Sandbox Code Playgroud)

到底在{...{ userIdsTyping, users }}做什么?我知道它将子节点传递给UserList组件,但是传播运算符如何在这里工作?它有什么作用userIdsTypingusers

Fei*_*anZ 6

扩展运算符"扩展"对象内联.它等同于以下语法:

<UserList
    userIdsTyping={userIdsTyping}
    users={users}
/>
Run Code Online (Sandbox Code Playgroud)

对象本身{ userIdsTyping, users }ES6的简写,并扩展为{userIdsTyping: userIdsTyping, users: users}.

这是假定值userIdsTypingusers定义在其他地方范围内.