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

时间:2017-11-09 04:16:45

标签: javascript reactjs ecmascript-6

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

<UserList
  {...{ userIdsTyping, users }}
/>

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

1 个答案:

答案 0 :(得分:6)

扩展运算符“扩展”对象内联。它等同于以下语法:

<UserList
    userIdsTyping={userIdsTyping}
    users={users}
/>

对象本身{ userIdsTyping, users }ES6 shorthand,并展开为{userIdsTyping: userIdsTyping, users: users}

这假设userIdsTypingusers的值已在范围内的其他位置定义。