HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🧚
[1기]최종 프로젝트 데브코스
/
[팀7] 뿡치와 삼촌들 - Devnity
[팀7] 뿡치와 삼촌들 - Devnity
/
📘
프론트엔드 공간
/
⌨️
리코일
⌨️

리코일

리코일 공식 문서 (한글)
 

특이사항

  • ES5
Recoil 빌드는 ES5로 트랜스파일 되지 않으므로, Recoil을 ES5와 사용하는 것은 지원하지 않는다. ES6 기능을 natively하게 제공하지 않는 브라우저를 지원해야 하는 경우 Babel로 코드를 컴파일하고 preset @babel/preset-env을 이용하여 이를 수행할 수는 있지만 문제가 발생할 수도 있다. 특히, React와 같이, Recoil은 ES6의 Map과 Set 타입에 의존하는데, 이러한 ES6의 요소들을 polyfills를 통해 에뮬레이션하는 것은 성능상의 문제를 야기할 수 있다.
 
  • eslint에서 eslint-plugin-react-hooks를 사용할 경우 additionalHooks에 useRecoilCallback를 추가해주는 것이 좋다. 그 이유는 리액트에서 useState, useEffect와 같은 훅의 디펜던시에 값을 잘못 넣었을 경우 경고를 해 주는데, 리코일에서 사용하는 useRecoilCallback (추측으로는 리코일에서 사용하는 훅들을 의미하는 것 같다. 아직 사용해보지 않아서 잘 모르겠어요...)의 디펜던시에 대해서도 경고를 표시해준다.
{ "plugins": ["react-hooks"], "rules": { "react-hooks/rules-of-hooks": "error", "react-hooks/exhaustive-deps": [ "warn", { "additionalHooks": "useRecoilCallback" } ] } }