React: рд╡рд┐рдЪрд╛рд░: рдЬреЗрдПрд╕рдПрдХреНрд╕ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореЗрдВ рдСрдмреНрдЬреЗрдХреНрдЯ рд╢рд╛рдмреНрджрд┐рдХ рд╕рдВрдкрддреНрддрд┐ рдореВрд▓реНрдп рд╢реЙрд░реНрдЯрд╣реИрдВрдб рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 16 рдирд╡ре░ 2014  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: facebook/react

рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рд╣реЛрдЧрд╛:

{this.state.list.map((item, key) => <MyComponent {item, key} />)}

рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╕реЛрдЪреЗрдВрдЧреЗ?

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореИрдВ рдирд╣реАрдВ рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдЪреНрдЫреБрдХ рд╣реВрдВред рд╣рдордиреЗ рд╡рд┐рднрд┐рдиреНрди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдмрд╛рддреЗрдВ рдХреА рд╣реИрдВ рдФрд░ рд╣рдо рдЗрд╕реЗ рдпрдерд╛рд╕рдВрднрд╡ рдиреНрдпреВрдирддрдо рд░рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВред {...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 /> рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ {рдЖрдЗрдЯрдо: рд╕рддреНрдп} рдХрд╛ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░рддрд╛ рд╣реИред рдЕрдВрдд рдореЗрдВ рдпрд╣ рдмрд╣реБрдд рд╕реАрдорд┐рдд рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕рдХреЗ рдПрдЪрдЯреАрдПрдордПрд▓ рдЬреАрди рд╕реЗ рдЗрд╕рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╕рдордЭ рд╕рдХрддрд╛ рд╣реВрдВред рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЬреНрдпрд╛рджрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИред

рддрдерд╛ рдпрджрд┐ рдЖрдк рдЗрд╕реЗ ES8 рдСрдмреНрдЬреЗрдХреНрдЯ рдиреЛрдЯреЗрд╢рди рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рд╕реЗ рджреЗрдЦрддреЗ рд╣реИрдВ рддреЛ рднреНрд░рдорд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред {item} {item: item} рдХреЗ рд▓рд┐рдП рд╢реЙрд░реНрдЯрд╣реИрдВрдб рд╣реИред {...item} рдПрдХ рдирдИ рд╡рд╕реНрддреБ рдореЗрдВ рд╕рдорддрд▓ / рдЙрдерд▓реА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ / рдкреНрд░рд╕рд╛рд░ рдХреЗ рд▓рд┐рдП рдЖрд╢реБрд▓рд┐рдкрд┐ рд╣реИред

рдПрдХ рдмрд╛рд░ рдЬрдм рдХреЛрдИ рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ рдЬреЗрдПрд╕рдПрдХреНрд╕ h(name: string | Component, props: {[name]: any}, ...children) рдкрд░ рдкрд╛рд░рджрд░реНрд╢реА рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред ObjectExpression рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЧрд┐рд░рддрд╛ рд╣реИред

рдпрд╣ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ рдХрд┐ <Foo {x} /> рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди <Foo {...x} /> рд╕рдорд░реНрдерд┐рдд рд╣реИред рдЙрдкрд╛рдп рд╣реИ
<Foo {...{x}} /> рдЬреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рднреНрд░рдорд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

h1orz picture h1orz  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Prinzhorn picture Prinzhorn  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

framerate picture framerate  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

zpao picture zpao  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

kocokolo picture kocokolo  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ