TIL_리액트 개념정리

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

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

미들웨어는 리덕스에서 서버와의 통신을 위해 사용하는 것으로 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
얕고 길게

0개의 댓글

관련 채용 정보