4. usestore-ts
External Store๋ฅผ ์ฌ์ฉํจ์ผ๋ก concurrent feature์์ ๋ฐ์ํ๋ ํฐ์ด๋ง ๋ฌธ์ ๋ฅผ ๊ฒช์ด๋ณด์ง ์์ ๋ญ๊ฐ๋ญ์ง.. ๋ฆฌ์กํธ 18์ ์ถ๊ฐ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํด๋ณด์ง ์์์ ๊ทธ๋ฐ๊ฐ? ๋ ๋๋ง๋ ํ ์ ์ ์ธํฐ๋ ์ ์ด ๋ฆ๊ฒ ์ฒ๋ฆฌ๋๋ ๊ฒฝ์ฐ๋ฅผ ๊ฒช์ด๋ณด์ง ์์ ๊ทธ๋ด์๋ ์๊ฒ ๋ค.
Keyword
usestore-ts
useSyncExternalStore
1. usestore-ts
๋ฐ์ฝ๋ ์ดํฐ๋ฅผ ์ด์ฉํด Store, Action Store์ ๊ธฐ๋ฅ์ ๋ถ์ฌํ๊ณ ์ฌ์ฉํ ์ ์๋ค. ๋ด๋ถ์ ์ผ๋ก useSyncExternalStore hook์ ์ฌ์ฉํจ.
ํ๋์ ์คํ ์ด๊ฐ ๊ฐ์ง๋ ๊ฑฐ๋ํจ์ ๋ถ์ฐ์ํค๊ธฐ ์ํด ์ฌ๋ฌ๊ฐ์ ์คํ ์ด๋ฅผ ๋ฑ๋กํจ์ผ๋ก์ ๊ด์ฌ์ฌ์ ๋ถ๋ฆฌ๊ฐ ๋ชฉ์ ์ธ ๊ฒ ๊ฐ๋ค.
2. useSyncExternalStore
์ธ๋ถ ์คํ ์ด๋ฅผ ๊ตฌ๋ ํ ์ ์๋ React Hook
์ปดํฌ๋ํธ ์ต์์ ๋ ๋ฒจ์์ useSyncExternalStore๋ฅผ ํธ์ถํ์ฌ ์ธ๋ถ ๋ฐ์ดํฐ ์ ์ฅ์์์ ๊ฐ์ ์ฝ๋๋ค.
๊ธฐ์กด์ UI๋ ๋๋ง ์์ ์ค ์ธํฐ๋ ์ ์ด ๋ฐ์ํ๋ฉด ๋ ๋๋ง์ด ๋๋๊ธฐ ์ ๊น์ง ์ธํฐ๋ ์ ์ฒ๋ฆฌ๊ฐ ์ง์ฐ๋๋ค. ๋ฆฌ์กํธ 18๋ถํด concurrent feature๋ผ๋ ๊ธฐ๋ฅ์ด ๋์ ๋๋๋ฐ, ๋ ๋๋ง ๋์ค ์ ์ ์ธํฐ๋ ์ ์ด ๋ฐ์ํ๋ฉด ๋ ๋๋ง ์ฐ์ ์์๋ฅผ ๋ฐ๊ฟ ์ ์ฐํ๊ฒ UI๋ฅผ ๋ ๋๋ง ๊ฐ๋ฅํ๊ฒ ๋ง๋๋ ๊ธฐ๋ฅ์ด๋ค.
๋ฌธ์ ๋ ์๋์น ์๊ฒ ์ํ ๋ถ์ผ์น๋ก ์ธํ ์๋ก ์ผ์นํ์ง ์๋ ์์ ์ UI๊ฐ ๋ ๋๋๋ ํฐ์ด๋ง์ด ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ React์ internal store๋ ์ด๋ฅผ ๋๋นํด ๋ด๋ถ ๊น์ํ ๊ณณ์ ์ํ ์ฒ๋ฆฌ๋ฅผ ํ ์ ์๋ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํด ๋์์ง๋ง, external store๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ์๊ณ ๋ฆฌ์ฆ์ด ์ ์ฉ๋์ง ์์ ํฐ์ด๋ง์ ํด๊ฒฐํ ์ ์๋ค. useSyncExternalStore ํ ์ ์ฌ์ฉํด ํฐ์ด๋ง์ด ๋ฐ์ํ์ง ์๋๋ก ์ธ๋ถ ์ ์ฅ์์ ๋ณ๊ฒฝ์ฌํญ์ ์ง์ผ๋ณด๊ณ ์๋ค๊ฐ ์๋ฃ๋๋ฉด ๋ค์ ๋ ๋๋ง์ ์์ํ๋ค.
Last updated