제네릭 타입(Generic) : 클래스 외부에서 타입을 정하는 것 import { FC } from 'react' interface DogsProps { status: string; message: string[]; // 문자열이 담긴 배열 } function GetDogs: FC ({ status, message }) { ... } select event interface SelectProps { handleOnChange: (event: ChangeEvent) => void; ... } 함수 (매개변수 타입) => void(리턴이 없는 경우) (매개변수 타입) => 반환값의 타입(리턴이 있는 경우) 객체 interface ObjProps { objVal: {} // 이렇게 지정해도 오류 나지 않음 o..
컴파일러는 코드가 깔끔하든 지저분하든 잘 작동함 그 코드를 수정하는 것이 사람이기 때문에 정리할 필요성이 있음 프로그램이 새로운 기능을 추가하기에 편한 구조가 아니라면, 먼저 리팩터링한 후 기능을 추가한다 수백 줄짜리 코드를 수정할 때에 프로그램의 작동 방식을 쉽게 파악할 수 있도록 코드를 재구성하고, 프로그램 구조가 빈약하다면 구조를 잡은 뒤 수정하는 것이 작업하기 수월함 한 번 작성한 코드를 다시 볼 일이 없다면 상관 없지만 다른 사람이 읽고 이해해야 할 일이 생겼는데 로직을 파악하기 어렵다면 수정이 필요함 예시 코드 리팩터링 순서 테스트 코드 만들기 함수 전달인자와 결괏값 몇을 미리 작성하고 단축키로 테스트를 실행할 수 있도록 설정 성공/실패에 따라 색상을 부여하여 테스트 결과를 한눈에 알아볼 수 ..
리듀서 내부에서 같은 슬라이스의 다른 리듀서 사용하기 // 슬라이스명.caseReducers.리듀서명(인자) // state를 사용해야한다면 인자로 state를 전달해주어야 함 customSlice.caseReducers.updateInfo(custom, product, true); 리듀서 내부에서 콘솔 출력했는데 proxy로 나오는 경우, current로 감싸서 확인하기 import { current } from '@reduxjs/toolkit'; ... reducers: { updateInfo: (state, action) => { console.log(current('내용')) }, } * 참고 caseReducers current 2023.04.19
git config core.ignorecase false 2023.04.19

