오늘 할 일
상태 관리에 대해 많은 정리가 되는 날이었다.
머리로 간단히 이해를 하고 코드숨 슬랙에서 어떤 분이 나와 같은 고민을 하셔서 글로 정리를 해서 올렸더니 정리가 착착 잘 되는 느낌이었다.
const [todoList, setTodoList] = useState([]);
const [todoInput, setTodoInput] = useState('');
이 코드에 대한 답변으로 이렇게 답했다.
"간단한 앱을 만들 때는 저렇게 상태 관리를 하면 todoInput값과 todoList값 이렇게 두 개로 서로 연동이 되지 않게 관리를 해주어서 todoInput값이 변화할 때 쓸데없이 todoList값까지 재할당이 되지 않는 장점이 있지만 관리하는 상태 값들이 많아지면 코드 자체가 길어져 가독성이 떨어질 수도 있을 것 같습니다. 또 한 번에 여러 개의 상태 값을 변경하는 경우는 오히려 재할당이 더 많이 이루어지기도 할 거고요. 그래서 const [state, setState] = useState({ todoInput: '', todoList: []}); 이 코드가 크게 봤을 때 더 효과적인 상태 관리라고 저는 생각합니다. 이렇게 하면 하나의 상태로 관리도 가능하고 spread 문법으로 어떤 값 만을 변경하는지도 명시해줄 수 있는 장점이 있습니다."
+ 이것말고도 리덕스의 상태 구조와 같다는 사실도 있다.
또 무언가 early return을 할 때 이렇게 방어하는 로직보다는 먼저 그 방어할만한 것을 원천적으로 할 수 없도록 하는 방법을 먼저 찾아봐야 한다는 걸 느끼게 됐다.
그리고 언제나 이름짓기는 최종 보스다. 최종 보스 마스터하는 날이 왔으면 좋겠다 ㅋㅋㅋ
+ 다른 분들의 풀 리퀘를 보면서 나는 참 글을 못쓴다는 생각이 들었다 ㅜㅜㅜ 글 쓰고 정리하고 이게 증말 너무 힘들다. 다들 어쩜 그리 정리를 잘하시는지.. 부럽다. 나도 점점 노력해서 잘 써 봐야겠다.
'Life > TIL' 카테고리의 다른 글
20200928 T.I.L (0) | 2020.09.28 |
---|---|
20200926 T.I.L (0) | 2020.09.26 |
20200924 T.I.L (0) | 2020.09.24 |
20200923 T.I.L (0) | 2020.09.23 |
20200922 T.I.L (0) | 2020.09.22 |