5. Reference APIs

atomFamily(options)

: atom ์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

Atom Family ๋Š” atom ์˜ ๋ชจ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

const elementPositionStateFamily = atomFamily({
  key: 'ElementPosition',
  default: [0, 0],
});

function ElementListItem({elementID}) {
  const position = useRecoilValue(elementPositionStateFamily(elementID));
  return (
    <div>
      Element: {elementID}
      Position: {position}
    </div>
  );
}

์œ„์ฒ˜๋Ÿผ atomFamily๋Š” atom๊ณผ ๊ฑฐ์˜ ๋™์ผํ•˜์ง€๋งŒ ์ „๋‹ฌํ•œ ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋”ฐ๋ผ RecoilState๋ฅผ ์ œ๊ณตํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

selectorFamily(options)

: selector ํ•จ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

atomFamily ์™€ ๋น„์Šทํ•˜๊ฒŒ selectorFamily ๋Š” selector ์˜ ๋ชจ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

selector ์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ get, set, selector์˜ ์ฝœ๋ฐฑ์„ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ด ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

selectorFamily ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ํ˜ธ์ถœ ํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ  selector ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

useRecoilCallback(callback, deps)

: useCallback ๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ Recoil ์ƒํƒœ์—์„œ callback์ด ๋™์ž‘ํ•˜๋„๋ก API๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ด hook ์€ ๋น„๋™๊ธฐ๋กœ ํ˜„์žฌ์˜ Recoil ์ƒํƒœ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ฑฐ๋‚˜ ์ฝ๊ธฐ ์ „์šฉ Snapshotarrow-up-right ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” callback ์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ

  • ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ์—์„œ ํ•ด๋‹น ์ƒํƒœ๋ฅผ ๊ตฌ๋…ํ•˜์ง€ ์•Š๊ณ  ์‹ถ์„ ๋•Œ

  • ๋ Œ๋”๋ง ์ด์ „์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ฏธ๋ฆฌ ๊ฐ€์ ธ์˜ค๊ณ  ์‹ถ์„ ๋•Œ (Pre-fetchingarrow-up-right)

Last updated