state는 원래값과 변경값이 같으면 변경 액션 자체를 하지 않는다.좀 더 정확하게 말하자면 `값` 을 비교한다기 보다 이전 값과 `메모리 주소` 가 변경되었는지를 판별한다. 💡 원시 데이터 타입 변경 예시그럼 원시 데이터 타입에 대한 state 변경 예시를 알아보도록 합시다. state 정의const [name, setName] = useState("길동")state 변경let copyName = name; // 길동 저장copyName = '이황' // coppyName 변경setName(copyName)`name`을 `copyName`에 복사하고 값을 변경했다. 그리고 `copyName` 으로 변경 코드를 작성할 경우 우리는 당연히 변경된 값을 확인할 수가 있을 것이다. 하지만 동일한 문자..
💡 git, VSCode, Node 설치git - https://git-scm.com/download/winvscode - https://code.visualstudio.com/node - https://nodejs.org/en 위의 사이트에서 다운 받고 설치하면 됨 💡 yarn 설치 (선택사항)node를 설치하면 `npm`이라는 노드의 패키지 관리자도 자동으로 설치가 된다. `yarn`은 기능적으로는 같지만 성능적인 측면에서 `npm` 보다 향상된 패키지 관리자이다. 터미널에서 아래 명령어를 입력하여 설치한다. 정리하자면 안써도 문제 없으니까 귀찮으면 패스해도 된다. 괜히 저 처럼 에러날 수도 있음 일단 설치하기전에 npm과 yarn이 뭘 해주는지부터 알아 보자. 유용한 패키지, 라이브러리 등을 ..
💡 페이지를 (재)렌더링 하게 되는 경우들1. 첫 리액트 앱이 실행될 때2. 현재 리액트 내부의 어떤 상태(state)가 변경되었을 때컴포넌트 내부 `state`가 변경될 때컴포넌트에 새로운 `props`가 들어올 때부모 컴포넌트가 위와 같은 이유로 렌더링이 될 때 자식 컴포넌트도 줄줄이 렌더링
💡 state의 변화 유무리액트에서는 화면을 리렌더링 할 때 state의 변화를 가지고 판단한다. 즉, 일반 변수값을 화면에 출력한 상태에서 변수 값을 바꾼다고 화면에 출력된 값이 변경되는 것이 아니라 `setState` 를 활용해서 변경해야 적용 된다. 이 때 state의 변화 전, 후 의 `메모리 주소` 를 비교한다. 따라서 `참조 데이터 타입`이 변하게 되면 값은 바뀌지만 메모리 주소는 변함이 없기 때문에 페이지가 리렌더링 되지 않는다. (깊은 복사, 얕은 복사 개념) 📍 참조 데이터 타입(객체, 배열) 업데이트 하는 방법
yarn을 설치하고 버전 확인을 하려고 하니 보안 오류가 나왔다. 권한이 없어서 나오는 오류이고, 금방 해결 가능하니 겁먹지 않아도 괜찮다. 오류yarn : 이 시스템에서 스크립트를 실행할 수 없으므로 C:\Users\user\AppData\Roaming\npm\yarn.ps1 파일을 로드할 수 없습니다. 자세한 내용은 about_Execution_Policies(https://go.microsoft.com/fwlink/ ?LinkID=135170)를 참조하십시오. 위치 줄:1 문자:1 + yarn -v + ~~~~ + CategoryInfo : 보안 오류: (:) [], PSSecurityException 관리자모드로 PowerShell 실행 윈도우키를 누른다.powersh..