Recoil이 좀더 직관적이다.
그러나 얼만큼 직관적인가? 스스로 설명하고 싶어서 이 글을 쓴다.
알 것같은데 모르는 느낌.
코딩을 3개월 넘게 공부하자 자주 느끼는 것 같다.
이 느낌은 답답한 기분도 불러와서 그 기분을 글을 이용해 환기해보고자 한다.
리코일의 Selecotr가 리덕스의 useSelector 처럼 스토어(상태)값을 변경해준다.
const [text, setText] = useRecoilState(textState);
Redux는 state라는 말을 안쓴다.
프론트엔드를 리액트로 공부하며 가장 많이 듣게 되는말이 상태State 인데 리덕스는 store와 reducer 라는 단어를 사용한다.
state는 매개변수의 명으로만 사용한다.
그러면 크게 신경쓰지 않아도 되지 않느냐? 라고 할 수도 있겠지만..
나는 잘 안된다.
그에반해 리코일은 useRecoilState라는 Hook을 사용해서 직관력을 높였다. 생긴것도 리액트의 useState와 비슷하게 생겨서 알아보기 쉽다.
Toolkit으로 더 헷갈리는 Redux
공부한지 3개월남짓한 짧은 가방끈으로 대략적으로 설명해보자면
(사실과 매우 틀릴 수 있음)
적는데도 헷갈린다. 왜이렇게 복잡하게 해놓은거지..
지금의 리액트-리덕스는 내가 배운 영상과 너무 다르다(2022년 1월 업로드) Toolkit이라는 기능을 업데이트 했는데, 처음 소감으로는 간편하게 모아놓은..느낌이 먼저 들었다. 그래서 조금만 더 보면 이해를 할 줄 알았는데 읽으면 읽을수로 되려 더 헷갈렸다.
오히려 이전이 코드읽는데 불편해도 이해하는게 어렵지 않았던것 같다. useSelector와 useDispatch의 역할이 Toolkit때문에 더 애매해진 느낌..;
Recoil은 Hooks 명에 따라 하고자 하는바가 명확하다
이거 하나만으로 리코일을 쓸 가치가 충분하다고 생각된다.
단순해서 나같은 사람도 비유하며 쉽게 이해할 수 있다.