๋ฌธ์์ ๋ฒ๊ทธ
ํ์ฌ ํ๋์ ๋ฌด์์
๋๊น?
React์ ์คํ๋ ๋ ์ฐ์ฐ์๋ React 16์์ ์ ๊ฑฐ๋์์ง๋ง ์ฌ์ ํ ๋ฌธ์ https://reactjs.org/docs/jsx-in-depth.html#spread -attributes์ ์์ต๋๋ค.
์์๋๋ ๋์์ ๋ฌด์์
๋๊น?
์ฌ๊ธฐ์๋ React 16+๊ฐ ํฌํจ๋์ง ์๋๋ค๋์ฃผ์๊ฐ ํฌํจ๋์ด์ผํฉ๋๋ค. ์ํ์ ํผ๋จ๋ฆฌ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์ถ๊ฐ ํ ์๋ ์์ต๋๋ค.
์ด๋ค ๋ฒ์ ์ React์ ์ด๋ค ๋ธ๋ผ์ฐ์ / OS๊ฐ์ด ๋ฌธ์ ์ ์ํฅ์ ๋ฐ์ต๋๊น?
๋ฐ์ 16+. ์ด์ ๋ฆด๋ฆฌ์ค์์ ์๋ํ์ต๋๋ค.
Spread ์ฐ์ฐ์๋ ์ธ์ด ๊ธฐ๋ฅ์ด๋ฉฐ React 16์์ ์ ๊ฑฐ ํ ์ ์์์ต๋๋ค.
๋น์ ์ ๋ฌด์์ ์ธ๊ธํ๊ณ ์์ต๋๊น?
@salehhamadeh ๋น์ ์ https://github.com/facebook/react/pull/8942 ์์ ์ ๊ฑฐ ๋ React.__spread
์ ์๊ฐํ ์ ์์ต๋๋ค . @gaearon์ด ์ง์ ํ๋ฏ์ด ์คํ๋ ๋ ์ฐ์ฐ์๋ ์์ ํ ๋ค๋ฅธ ๊ฒ ์
๋๋ค. ๊ทธ๊ฒ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
๋๋ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ์์ ๋์ต๋๋ค. ๋ด ์ฝ๋๋ ์คํ๋ ๋ ์์ฑ์ React.__spread
์ปดํ์ผ ํ JSXTransformer๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ์์ ๋ด๋๋ก ๋์ ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค.
์ ๊ทธ๋ ๊ตฐ์. ์, ๊ทธ ์ดํ๋ก JSXTransformer๊ฐ ์์๋์์ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํ์ฌ ์ฝ 2 ๋ ๋์ ์ง์๋์ง ์์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ๋ก๋์ ์์ ์ฌ์ฉํด์๋ ์๋ฉ๋๋ค. ๋์ Babel๋ก JSX๋ฅผ ๋ฏธ๋ฆฌ ์ปดํ์ผํ์ญ์์ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋๋ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ์์ ๋์ต๋๋ค. ๋ด ์ฝ๋๋ ์คํ๋ ๋ ์์ฑ์
React.__spread
์ปดํ์ผ ํ JSXTransformer๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ์์ ๋ด๋๋ก ๋์ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.