TSyringe
Last updated
Last updated
Syringe(์ฃผ์ฌ๊ธฐ) ์ฆ, ์ฃผ์ฌ๊ธฐ๋ก ์ฃผ์ ํ๋ ์ญํ ์ ํ๋ค.. ๋ฌด์์? ์์กด์ฑ์ MS์์ ๋ง๋ TypeScript์ฉ DI ๋๊ตฌ(IoC Container)
TSyringe๋ ES6์ Reflect.metadata
API์ TypeScript์ ๋ฐ์ฝ๋ ์ดํฐ๋ฅผ ํ์ฉํ์ฌ ์์กด์ฑ ์ฃผ์
์ ๊ตฌํ
External Store๋ฅผ ๊ด๋ฆฌํ๋๋ฐ ํ์ฉํ ์ ์๋ค.
์ฝ๋ ์ง์
์ ์ด ๋๋ ํ์ผ src/main.tsx
์ src/setupTexts.ts(ํ
์คํธ)
์์ reflect-metadata ์ํฌํธ
์ฑ๊ธํค์ผ๋ก ๊ด๋ฆฌํ CounterStore ํด๋์ค ์ค๋น
์ฑ๊ธํค CounterStore ๊ฐ์ฒด๋ฅผ ์ฌ์ฉ
๊ฐ์ฒด์งํฅ ๋์์ธ ํจํด ์ค ํ๋๋ก, ํน์ ํด๋์ค์ ์ธ์คํด์ค๊ฐ ์ค์ง ํ๋๋ง ์์ฑ๋๋๋ก ๋ณด์ฅํ๋ ํจํด
์ฌ๋ฌ ๊ณณ์์ ๋์ผํ ์ธ์คํด์ค๋ฅผ ๊ณต์ ํ์ฌ ์ฌ์ฉํ๊ณ ์ ํ ๋ ์ ์ฉ
์ธ๋ถ์์ ์ธ์คํด์ค๋ฅผ ์ง์ ์์ฑํ์ง ๋ชปํ๊ฒ ํด๋์ค์ ์์ฑ์๋ฅผ ๋ง์๋๋ค.
ํด๋์ค ๋ด๋ถ์์ ์ ์ผํ ์ธ์คํด์ค๋ฅผ ์์ฑํ๊ณ , ์ด๋ฅผ ๋ฐํํ๋ ์ ์ ๋ฉ์๋๋ฅผ ๊ตฌํํ์ฌ ์ ๊ณต