강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

mhr님의 프로필 이미지
mhr

작성한 질문수

[리뉴얼] React로 NodeBird SNS 만들기

express.static 미들웨어

dispatch를 리턴하는 경우는 어떤 경우인가요?

작성

·

219

0

PostForm.js 에서 onSubmit 함수를 수정하시면서 아래와 같이 dispatch({ type: ADD_POST_REQUEST, data: formData }); 앞에 return을 붙이시는 것을 봤는데, 혹시 왜 그렇게 하신 것인지 알려주실 수 있을까요? 

const PostForm = () => {
  ...
  const onSubmit = useCallback(() => {
    ...
   return dispatch({ type: ADD_POST_REQUEST, data: formData });
  }, [text, imagePaths])
  ...
}

 그리고 한 가지 궁금한 것이 더 있는데요. 현재 프론트엔드쪽은 타입스크립트를 적용하면서 진행하고 있고, 백엔드 쪽은 아직은 express에 타이핑하는 것을 배우지 않아서 일단은 강좌에 나온대로 js로 진행하고 있는데요. 프론트에서 타이핑을 하더라도 백엔드에서 응답을 잘못 주는 상황이 되어도 타입 에러가 나는 것도 아니고 런타임 에러도 반드시 발생하는 것도 아니고 그러더라고요. 아무래도 타입 체킹은 프로그램 실행 전에 돌아가는 과정이다보니 그런 것 같고, 런타임에러가 발생하는 것도 그냥 어찌어찌 데이터가 없는 것으로 처리되기도 하고 그랬던 것 같습니다. 프론트엔드 개발자 입장에서 이 부분을 프로그램 안에서 잘 체크할 수 있는 방법은 없을까요? 

혹시 자바스크립트로 풀스택 개발을 하는 경우에는 타입 데피니션을 백엔드와 프론트엔드가 공유하기도 하나요? 

답변 1

1

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

저는 예전에 마지막에 return을 붙였습니다. eslint airbnb 룰 중 하나였는데 필수는 아닙니다.

프론트랑 백엔드 타입 공유 자주 합니다. 인터페이스로 만든 후 공유하는 경우가 많습니다. 다만 런타임에서는 다른 데이터가 와서 에러가 발생할 수 있습니다. 그래서 타이핑을 정확하게 얻기 위해 rest api 대신 sdk(라이브러리) 식으로 만드는 경우도 있습니다.

mhr님의 프로필 이미지
mhr

작성한 질문수

질문하기