рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рд╣реЛрдЧрд╛:
{this.state.list.map((item, key) => <MyComponent {item, key} />)}
рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╕реЛрдЪреЗрдВрдЧреЗ?
рдореИрдВ рдирд╣реАрдВ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдЪреНрдЫреБрдХ рд╣реВрдВред рд╣рдордиреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдмрд╛рддреЗрдВ рдХреА рд╣реИрдВ рдФрд░ рд╣рдо рдЗрд╕реЗ рдпрдерд╛рд╕рдВрднрд╡ рдиреНрдпреВрдирддрдо рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред {...spread}
рдЬреЛрдбрд╝рдирд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдмрд╣реБрдд рдмрдбрд╝реА рдмрд╛рдд рдереАред
рд╕реАрд╕реА @sebmarkbage
рд╣рдо рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЪрд░реНрдЪрд╛рдУрдВ рдХреЛ рдЗрд╕рдореЗрдВ рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ: https://github.com/facebook/jsx рдЗрд╕ рддрд░рд╣ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореЗрдВ рдпреЛрдЧрджрд╛рди рджреЗрдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рд╡реНрдпрд╛рдкрдХ рд╕рдореВрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЗрд╕реЗ рднрд╛рд╖рд╛ рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рдЬрди рдХреЗ рд▓рд╛рдпрдХ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ <Foo {item} />
, <Foo {...item} />
рдФрд░ <Foo item />
рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░ рдмрд╣реБрдд рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЕрдВрддрд┐рдо рджреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЖрдк рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╕реЛрдЪрддреЗ рд╣реИрдВ рд╡рд╣ рдореБрдЭреЗ рдкрд╕рдВрдж рд╣реИред рдпрджрд┐ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджреГрдврд╝рддрд╛ рд╕реЗ рдорд╣рд╕реВрд╕ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ https://github.com/facebook/jsx . рдкрд░ рдПрдХ рдореБрджреНрджрд╛ рдЦреЛрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП
https://github.com/facebook/jsx/pull/118
^ рдСрдмреНрдЬреЗрдХреНрдЯ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╕реНрддрд╛рд╡ рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣рд╛рдВ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣реИред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ . рдХреЗ рдмреАрдЪ рдХрд╛ рдЕрдВрддрд░
, рддрдерд╛ рдмрд╣реБрдд рднреНрд░рдорд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рднреНрд░рдо рд╕рд╛рдкреЗрдХреНрд╖ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред <Foo item />
рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ {рдЖрдЗрдЯрдо: рд╕рддреНрдп} рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рддрд╛ рд╣реИред рдЕрдВрдд рдореЗрдВ рдпрд╣ рдмрд╣реБрдд рд╕реАрдорд┐рдд рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕рдХреЗ рдПрдЪрдЯреАрдПрдордПрд▓ рдЬреАрди рд╕реЗ рдЗрд╕рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╕рдордЭ рд╕рдХрддрд╛ рд╣реВрдВред рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬреНрдпрд╛рджрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред
{item}
{item: item}
рдХреЗ рд▓рд┐рдП рд╢реЙрд░реНрдЯрд╣реИрдВрдб рд╣реИред {...item}
рдПрдХ рдирдИ рд╡рд╕реНрддреБ рдореЗрдВ рд╕рдорддрд▓ / рдЙрдерд▓реА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ / рдкреНрд░рд╕рд╛рд░ рдХреЗ рд▓рд┐рдП рдЖрд╢реБрд▓рд┐рдкрд┐ рд╣реИред
рдПрдХ рдмрд╛рд░ рдЬрдм рдХреЛрдИ рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ рдЬреЗрдПрд╕рдПрдХреНрд╕ h(name: string | Component, props: {[name]: any}, ...children)
рдкрд░ рдкрд╛рд░рджрд░реНрд╢реА рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред ObjectExpression рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЧрд┐рд░рддрд╛ рд╣реИред
рдпрд╣ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ рдХрд┐ <Foo {x} />
рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди <Foo {...x} />
рд╕рдорд░реНрдерд┐рдд рд╣реИред рдЙрдкрд╛рдп рд╣реИ
<Foo {...{x}} />
рдЬреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред