๋ฒ๊ทธ ์ค๋ช
์ฌ๋กฏ ์์ฑ์ ์ฌ๋กฏ ์์ ๋ด์์๋ง ์ฐพ์ ์ ์์ง๋ง ์์ ์์ฒด์์๋ ์ฐพ์ ์ ์์ต๋๋ค. Svelte๋ ์์์ ์์ฑ์ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ์ค๋ฅ๊ฐ ์ฝ๊ฐ ์คํด์ ์์ง๊ฐ ์์ต๋๋ค. ์ถฉ๋ถํ ์๊ฒฉํ ์ค์ ์ผ๋ก TypeScript๋ฅผ ์ฌ์ฉํ ๋๋ง ์ค๋ฅ๋ก ํ์๋ ์ ์์ต๋๋ค.
์ฌํํ๊ธฐ ์ํด
์ฌ๋กฏ ์์ฑ์ด ์๋ ๊ตฌ์ฑ ์์๋ฅผ ๋ง๋ค๊ณ ์์ฑ์ ์ ์ธํ๋ ์์์ ์์ฑ์ ์ฌ์ฉํฉ๋๋ค(์ฌ๊ธฐ์ class
์ฌ์ฉ ์ค๋ฅ).
<Component n={10}>
<div slot="item" let:zebra class={zebra}>Hello {zebra}</div>
</Component>
์์๋๋ ํ๋
์ฌ๋กฏ ์์ฑ์ด ๋ฒ์ ๋ด์ ์์ผ๋ฉฐ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์์ต๋๋ค.
์คํฌ๋ฆฐ์ท
์์คํ (๋ค์ ์ ๋ณด๋ฅผ ์์ฑํ์ญ์์ค):
ํ๊ทธ๋ฅผ ๋๋ฌ์ธ๊ณ ๋ ๋ฒจ ์๋ก jsx-transformation์ ๊ฐ์ ธ์์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ด ํ ์คํธ ์์๋ ๋ค์๊ณผ ๊ฐ์์ผ ํฉ๋๋ค.
<>{() => { let {thing:{ a }} = __sveltets_instanceOf(Component).$$slot_def['default'];<><Component>
<h1>Hello { a }</h1>
</Component></>}}</>
@dummdidumm ์์ ํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
๋ฐฉ๊ธ ์ด๊ฒ์ ํ
์คํธํ์ผ๋ฉฐ let:prop
๊ฐ ์ฌ์ฉ ํ์ธ ๊ฒฝ์ฐ์๋ ์ ํ ์ค๋ฅ ๋์ ๋ ์นด๋ก์ด ๊ฒฝ๊ณ ๊ฐ ํ์๋ฉ๋๋ค.
'prop'์ด(๊ฐ) ์ ์๋์ง ์์์ต๋๋ค. [svelte(missing-declaration)]
์์ ์คํฌ๋ฆฐ์ท:
๊ทธ๋ฌ๋ ์์ฑ๋ ์ถ๋ ฅ์ ์์์ ๊ด๊ณ์์ด ์๋ํฉ๋๋ค. ๋ฌผ๋ก ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก ์ค๋ฅ๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํด ์์ฑ์ ์ฌ์ ๋ ฌํ ์ ์์ต๋๋ค.
์ด๊ฒ์ Svelte ์ปดํ์ผ๋ฌ ๋ฒ๊ทธ์ด๋ฉฐ ์ด๋ฅผ ์ํด https://github.com/sveltejs/svelte/issues/6009 ๋ฅผ ๋ง๋ค์์ต๋๋ค.