스파르타코딩클럽 내일배움캠프 TIL59

한재창·2023년 1월 19일
0

면접 강의 2

리덕스의 필요성, 없는 경우 생길 수 있는 문제점

  • 리덕스는 상태관리 라이브러리로 상태관리(업데이트, 상호작용 등)를 효율적으로 해주기 때문에 필요하다

  • 만약에 없다면 state를 효과적으로 관리하기 어렵고 불필요한 렌더링들이 발생할 가능성이 크며 오류가 생겼을 경우 찾기가 어렵다.

  • 관리 측면으로 필요하다. 리덕스는 상태(state)관리도구로 props, state를 좀더 잘 관리하게 만들어주며 없다면 props drilling이 발생한다. = 페이스북에서 생김

Redux에서 현재 상태의 state를 읽어오는 방법(훅)은 무엇인가요? 사용방법은 어떻게 되나요? 화살표 함수와 일반 함수로 각각 구현해주세요.

  • useSelector를 사용함.
const target = useSeletor((state)=> state.target)
fuction target({
useSelector()
})
  • 화살표함수는 return을 생략할 수 있는데, 습관적으로 사용하다보니 일반 함수 구현하는 것도 필요하다.
const users = useSelector(state ⇒ state.users) ===return 생략
const users = useSelector(state ⇒ { return state.users }) 
const user1 = useSelector(function (satae) { return state.users });

Redux에서 상태(state)를 변경하는 방법은 무엇인가요?

  • useDispatch를 통해 action을 담아 reducer에 보냅니다. 그리고 action type에 따라 action payload을 활용해 상태를 변경하는 로직을 수행합니다.

redux thunk가 무엇인지 설명해주시고, 단점으로 주요하게 거론되는 점이 있다면 말씀해주세요.

  • redux thunk는 비동기 작업을 할 때 쓰는 미들웨어의 종류로 보일러 플레이트 설정이 길고 귀찮다는 단점이 있다(유지보수에 많은 손이 간다).

리액트의 useCallback, useEffect등을 사용할 때 의존성 배열을 받게 됩니다. 이 배열의 역할은 무엇인가요?

  • 배열에 변수명이 들어가고 해당 변수에 변화가 생기는것을 감지해 useCallback, useEffect 와 같은 함수 블록 안에서 로직을 처리하고 리렌더링이 진행됩니다

map 함수를 사용하여 컴포넌트를 그릴 때, key props를 내리는 이유가 뭘까요?

  • key중점적으로 구분하기 때문에 임의로 할당되기 때문에 key props를 내리는 것. 그래서 버츄얼 돔이 인식할 수 있도록한다.
profile
취준 개발자

0개의 댓글