TIL_리액트 개념정리

김한빛·2022년 8월 11일
0
post-thumbnail
post-custom-banner

🔓리덕스 미들웨어 청크의 역할은 무엇일까?

미들웨어는 리덕스에서 서버와의 통신을 위해 사용하는 것으로 dispatch 되자마자 바로 action이 리듀서로 달려가 새로운 state를 반환 해버리기 전 하는 행동을 할 수 있게 해줌!

이러한 미들웨어 중 많이 사용되는 것 중에 하나가 Redux-thunk

Thunk
리덕스에서 많이 사용하고 있는 미들웨어 중 하나로, thunk를 사용하면 dispatch를 할때 객체가 아닌 '함수'를 dispatch할 수 있게 해준다.
그래서 중간에 하고자 하는 작업을 함수를 통해 넣을 수 있고, 그것이 중간에 실행되는 것!

dispatch(함수) → 함수실행 → 함수안에서 dispatch(객체)

🔓프로미스는 정확히 말하면 비동기가 아니다. 비동기와 프로미스는 각각 무엇일까?


만약 작업을 동기적으로 처리한다면 작업이 끝날때까지 기다리는 동안 중지상태로 다른 작업 할 수 없음.
하지만 비동기적으로 처리하면 흐름이 멈추지 않기 때문에 동시에 여러가지 작을 처리할 수 있고, 기다리는 과정에서 다른 함수도 호출 할 수 있다.

프로미스패턴

function findUser(id) {
  return new Promise(function (resolve, reject) {
    setTimeout(function () {
      const user = {
        id: id,
        name: 'my name is ' + id,
      };
      resolve(user);
    }, 1000);
  });
}

findUser('foo').then(function (user) {
  console.log(user); // { id: 'foo', name: 'my name is foo' }
});

프로미스의 3가지 상태

  • Pending(대기) : 비동기 처리 로직이 아직 완료되지 않은 상태
  • Fulfilled(이행) : 비동기 처리가 완료되어 프로미스가 결과 값을 반환해준 상태
  • Rejected(실패) : 비동기 처리가 실패하거나 오류가 발생한 상태

🔓 TDZ(Temporal Dead Zone/일시적 사각지대)란?

TDZ ( Temporal Dead Zone )는 해석하면 "일시적 사각지대" 이다.
TDZ는 const, let, class 구문의 유효성에 영향을 미치는 중요한 개념이다.
TDZ는 선언 전에 변수를 사용하는 것을 허용하지 않는다.

profile
얕고 길게
post-custom-banner

0개의 댓글