일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 일반유저
- MariaDB
- 머클루트
- 변수
- 리액트
- immer
- 리눅스
- 전역설치
- 설치
- 이더리움
- 블록체인
- 머클트리
- 깃허브
- node.js 교과서 따라하기
- 리액트를 다루는 기술
- 솔리디티
- wsl
- npm
- 환경변수
- Sequelize
- 벨로포터
- 쉘스크립트
- 시퀄라이즈
- Docker
- 노드
- 자바스크립트
- 우분투
- wget
- 라우터
- centos
- Today
- Total
목록immer (2)
코드코코
immer 라이브러리 - 불변성에 신경 쓰지 않는 것처럼 코드를 작성하되 불변성 관리는 제대로 해주는 것 - 단순히 깊은 곳에 위치하는 값을 바꾸는 것 외에 배열을 처리할 때에도 쉽고 편함. - 객테 안에 있는 값을 직접 수정하거나, 배열에 직접적인 변화를 일으키는 push, splice 등의 함수를 사용해도 무방. import produce from 'immer'; //produce(수정하고 싶은 상태, 상태를 어떻게 업데이트 할지 정의 하는 함수) const nextState = produce(originalState, draft => { //바꾸고 싶은 값 바꾸기 //produce 함수가 불변성을 유지를 대신해 주면서 새로운 상태를 생성 draft.somewhere.deep.inside = 5; })
Immer - 상태를 업데이트 할 때, 불변성을 신경쓰지 않으면서 업데이트를 해도 Immer 가 불변성 관리를 대신 해준다 //불러오기 import produce from 'immer'; const state = { number: 1, dontChangeMe: 2 }; //첫번째 파라미터에는 수정하고 싶은 상태 //두번째 파라미터에는 어떻게 업데이트하고 싶을지 정의하는 함수 //두번째 파라미터에 넣는 함수에서는 불변성에 대해서 신경쓰지 않고 //그냥 업데이트 해주면 다 알아서 처리해줌 const nextState = produce(state, draft => { draft.number += 1; }); console.log(nextState); // { number: 2, dontChangeMe: 2 }..