๊ณค์ถฉ
react @ 15์์ "value"๋๋ "defaultValue"๋ฅผ ์ค์ ํ ์ ์๊ณ ์ ํํ ์์๋ฅผ๋ณด๊ธฐ๋ก ์คํฌ๋กค ํ ์ ์์ต๋๋ค.
https://codesandbox.io/s/6vx637r10n
๊ทธ๋ฌ๋ react @ 16 ์์๋ ์๋ํ์ง ์์ต๋๋ค.
https://codesandbox.io/s/7jqqz3zmo1
ํฅ๋ฏธ ๋กญ๋ค! React 16.0์์ ์ ํํ ํญ๋ชฉ์ด ํ ๋น ๋ ๋ฐฉ์์ด ๋ณ๊ฒฝ๋์๋์ง ๊ถ๊ธํฉ๋๋ค.
๊ฑฑ์ ๋ง! ๊ทธ๊ฒ๋ค์ ๋ด๊ฐ ๋ณด๋ ์ฒซ ๋ฒ์งธ ์ฅ์์ด๊ธฐ๋ํฉ๋๋ค. ํ ๊ฐ์ง ์ฐจ์ด์ ์ React 16.x๊ฐ defaultSelected
๋ค์ selected
defaultSelected
ํ ๋นํ๋ค๋ ๊ฒ์
๋๋ค.
์ด๊ฒ์ด React๋ฅผ ๋์ง๊ณ ์๋์ง ๊ถ๊ธํฉ๋๋ค. ์ง๊ธ์ ์ง์ ํ ์คํธ ํ ์ ์์ง๋ง ์ค๋จ ์ ์ ์ค์ ํ๊ณ ์ด ๋ฃจํ๋ฅผ ํต๊ณผํ๋ฉด ์คํฌ๋กค์ด ๋ณ๊ฒฝ๋๋ ๊ฒ์ ๋ณผ ์ ์๋์ง ๊ถ๊ธํฉ๋๋ค.
์๋ ํ์ธ์ Nathan, ๋ช ์๊ฐ ๋์์ด ๋ฌธ์ ๋ฅผ ์กฐ์ฌํด ์์ผ๋ฉฐ react 15.6.2 ๋ฐ 16.3.2๋ฅผ ์ค์นํ์ต๋๋ค. ํ๋ก๊ทธ๋จ ์คํ์ ๋ช ๊ฐ์ง ์ค๋จ ์ ์ผ๋ก ์ถ์ ํ ์์์์ต๋๋ค. ํจ์์ฒ๋ผ ๋ณด์ ๋๋ค.
updateOptions
"select"๊ฐ์๋ ์ต์
์์ฑ ์ค ํ๋๋ฅผ true (์ข์)๋ก ์ค์ ํ๊ณ selectedIndex๋ 4 (์ข์)๋ก ์ค์ ํ์ง๋ง ์ฌ๊ธฐ์์ ์์๊ฐ ์ํ๋ ๋ฐฉ์์ผ๋ก ์ธ์๋์ง ์๋ ์ด์ ๋ฅผ ์ ์ ์์ต๋๋ค. ๊ด์ฐฎ์ ๊ฒ ๊ฐ์ต๋๋ค. ๋ํ defaultSelected
์ ์ selected
defaultSelected
ํ ๋นํ๋ ๊ฒ ์ฌ์ด์ ์ฐจ์ด๊ฐ ์์์ ์์์ต๋๋ค.
๋๋ฒ๊ฑฐ๋ฅผ ํตํด ์คํํ์ ๋ selected
๋ฐ defaultSelected
(์ฌ์ฉํ๋ ์ ํ์ ๋ฐ๋ผ ๋ค๋ฆ) ๋ชจ๋ ์ ์ ํ <option>
DOM ์์์ true
์์ฑ์ผ๋ก ์ฌ๋ฐ๋ฅด๊ฒ ์ค์ ๋ฉ๋๋ค. .
16.3.2 ์์ ์์๋ ์ ๋ฌ ๋ ๊ฐ์ ์ฌ์ ํ ์ ํํ๊ณ ์คํฌ๋กคํ์ง ์์ต๋๋ค. ๋ ๋๋ฌ์์ ํด๋น ๊ฐ ์์ฑ์ด ํ๊ฐ / ํ์ธ๋๊ณ ๋์์ด ๋ณ๊ฒฝ๋๋ ๋ค๋ฅธ ๊ณณ์ด ์์ต๋๊น? ๋๋ ์ฐ๋ฌ ๋ณด์์ง๋ง ํ์ฑ ํ ์ฝ๋๊ฐ ๋ง์ด ์์ต๋๋ค.
์ด๊ฒ์ด ์ผ๋ง๋ ๋์์ด๋๋์ง ํ์คํ์ง ์์ง๋ง @ kre0n ๋งํฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฌธ์ ๊ฐ ์ฒ์ ๋ฐ์ํ๊ธฐ ์์ํ React ๋น๋๋ฅผ ์ฐพ๊ธฐ ์ํด ์์ ํ ์คํธ๋ฅผ ์ํํ์ต๋๋ค. ํ ์คํธ๋ฅผ ์ํด codesandbox์ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ React์ ๊ฐ ๋ฒ์ ์ ์ ๊ฑฐํ๊ณ ๋ค์ ์ค์นํ์ต๋๋ค.
๋ด๊ฐ ๊ด์ฐฐ ํ ๋ฐ์ ๋ฐ๋ฅด๋ฉด 16.0.0 ๋ฆด๋ฆฌ์ค ์ดํ์ ๋ชจ๋ ์์ผฐ ์ต๋๋ค. 15.6.2 ๊ฐ ์๋ํ๋ค๋ ์ฌ์ค์ ์๊ณ ๋๋ ๋ฌธ์ ๊ฐ ์ฒ์ ๋ฐ์ํ๊ธฐ ์์ํ ๋๊น์ง 16.0.0-alpha ์์
์ ํ์ด ๋น๋ 16.0.0-alpha.3 ์ ์ ํ ์์์ ์ ๊ณต๋ '๊ฐ'์ผ๋ก ์คํฌ๋กค์ ๋ฉ์ถ ๊ฒ์ ๋ฐ๊ฒฌํ์ต๋๋ค.
๋์ค์ ๋น๋์์ ์์ ๋์๋์ง ํ ์คํธํ์ง ์์์ง๋ง ์ฒซ ๋ฒ์งธ ์คํจ ์ง์ ์ด ์ด๋ค ์ ์ผ๋ก๋ ๋์์ด ๋ ์ ์๋ค๊ณ ์๊ฐํ์ต๋๋ค.
์๋ ํ์ธ์. ์ด๋ฌํ ์์น ์๋ ๋์์ ์์ธ์ ํ์ ํ ๊ฒ ๊ฐ์ง๋ง ์ ์ ํ ์์ ์ฌํญ์ ์กฐ์ฌํ๋ ค๋ฉด ์๊ฐ์ด ๋ ํ์ํฉ๋๋ค. ๊ทธ๋์ ์๋ฌด๋ ์ ๊ฒฝ ์ฐ์ง ์๋๋ค๋ฉด์ด ๋ฌธ์ ๋ฅผ ๋ฐ์๋ค์ด๊ณ ํ๋ก์ ํธ์ ๋ํ ์ฒซ ๋ฒ์งธ ์ฝ์์ํ๊ณ ์ถ์ต๋๋ค.
์ต์ ์ ๋ณด. ์ ๊ฐ ์๊ฐํ๋ ๊ฒ๋ณด๋ค ๋ฌธ์ ๊ฐ ์ข ๋ ๋ณต์กํ ๊ฒ ๊ฐ์ต๋๋ค. ์ ๋์ด ๋์์ด ๋ฆฌ ์กํธ ํ์ด๋ฒ ์ํคํ ์ฒ์ ๋์ ๋์๋ค๊ณ ํ์ ํฉ๋๋ค. ์๊ฐ์ด ์ผ๋ง๋ ๊ฑธ๋ฆด์ง ๋ชจ๋ฅด๊ฒ ์ง๋ง ๊ณ์ ๊ณ ์ณ ๋ณด๊ฒ ์ต๋๋ค. ์ด์ ์ ๊ตฌํ ์ธ๋ถ ์ ๋ณด๋ฅผ ๋ค๋ฃจ์ง ์์์ผ๋ฏ๋ก ์๊ฐ์ด ๊ฑธ๋ฆด ์ ์์ต๋๋ค.
์ฃ์กํฉ๋๋ค. ๋๋ ๋ง์ ์ฌํ์ํ๊ณ ์๋ค. :) ์ด๊ฒ์ ์ ๋ง ์ด๋ ค์ด ๋ฌธ์ ์ธ ๊ฒ ๊ฐ๋ค.
@segoddnja ๋๋ ์ด๊ฒ์ ๋น์ ์๊ฒ ํ ๋น ํ ๊ฒ์ด์ง๋ง ์ด๊ฒ์ ๋ง์ ์๊ฐ์ ํ ์ ํ์ง ์์๋๋ฉ๋๋ค. ๊ฐ์ค์ ์ฐพ์ ๋ด๊ณ ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ํด๊ฒฐํ๊ธฐ ์ํด ํจ๊ป ๋ ธ๋ ฅํ ์ ์์ต๋๋ค.
์คํฌ๋กค์ ๋ฉ์ถ ์์๋ ๋ฌด์ธ๊ฐ๊ฐ ๋ฏธ๋ฆฌ ์ ํ ํญ๋ชฉ์ ๋ฐ์ํ๋์ง ๊ถ๊ธํฉ๋๋ค. ์คํฌ๋กค ์ค์ง๋ก ์ด์ด์ง ์์๋ ์์ฑ / ์์ฑ ํ ๋น ์์๊ฐ ์๋์ง ๊ถ๊ธํฉ๋๋ค.
๋ค์์ ํฅ๋ฏธ๋ก์ด ํ์์ ๋๋ค. ๋ค์ ๋จ๊ณ๊ฐ ๋ฐ์ํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค.
https://codepen.io/nhunzaker/pen/vaZxvE
์ฌ์ฏ ๋ฒ์งธ ์ต์ ๋ง ์ ํํ ๊ฒฝ์ฐ์๋ ์คํฌ๋กค์ ์ฌ์ ํ โโ์ฒซ ๋ฒ์งธ ์ต์ ์ ์ด์ ์ ๋ง ์ถฅ๋ ๋ค.
์ด์จ๋ Chrome์ _unassigned๊ฐ ์๋ _assigned_ ์ผ ๋ ์ฒ์ ์ ํํ ๊ฐ์ผ๋ก ๋ง ์คํฌ๋กคํฉ๋๋ค.
์๋ง๋ ์ด๊ฒ์ ๊ด๋ จ์ด ์์ต๋๋ค.
@nhunzaker ๋ค, ๊ฐ์ฌํฉ๋๋ค. ์ฌ๋ฐ๋ฅธ ๋ฐฉํฅ์ผ๋ก ์๊ฐํฉ๋๋ค. ๋ธ๋ผ์ฐ์ ๋ ์ ํ๋ ์์ฑ์ด true ์ธ ์ฒซ ๋ฒ์งธ ์ต์ ์ผ๋ก ์คํฌ๋กคํฉ๋๋ค. ๋ ์ด์ ๋ณ๊ฒฝํด๋ ์คํฌ๋กค์ด ๋ฐ์ํ์ง ์์ต๋๋ค.
๊ทธ๋์ ๋ด๊ฐ ์ง๊ธ ๋ฐ๊ฒฌ ํ ๊ฒ. React๋ ๋ฒ ์ด selest
๋
ธ๋๋ฅผ ์์ฑํ๊ณ ์ฌ๊ธฐ์ ์ต์
์ ์ถ๊ฐํฉ๋๋ค. ๋ฒ ์ด select
๊ฐ multipe=false
์ด๋ฏ๋ก ์ฒซ ๋ฒ์งธ ์ถ๊ฐ ์ต์
์ ์๋์ผ๋ก selected=true
์ป์ต๋๋ค. ๋ฐ๋ผ์ ๋ค์ค ๋ชจ๋๋ก ๋ ์ ํํ๊ณ ์ต์
์ ํ์ ์
๋ฐ์ดํธํด๋ ์คํฌ๋กค๋์ง ์์ต๋๋ค.
์ต์
์ ์ถ๊ฐํ๊ธฐ ์ ์ multiple
์์ฑ ๊ฐ์ ์ค์ ํด์ผํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์๋ ํ์ธ์. ์ด๋ฌํ ์์น ์๋ ๋์์ ์์ธ์ ํ์ ํ ๊ฒ ๊ฐ์ง๋ง ์ ์ ํ ์์ ์ฌํญ์ ์กฐ์ฌํ๋ ค๋ฉด ์๊ฐ์ด ๋ ํ์ํฉ๋๋ค. ๊ทธ๋์ ์๋ฌด๋ ์ ๊ฒฝ ์ฐ์ง ์๋๋ค๋ฉด์ด ๋ฌธ์ ๋ฅผ ๋ฐ์๋ค์ด๊ณ ํ๋ก์ ํธ์ ๋ํ ์ฒซ ๋ฒ์งธ ์ฝ์์ํ๊ณ ์ถ์ต๋๋ค.