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

Prov님의 프로필 이미지

작성한 질문수

실전 리액트 프로그래밍

react-redux 없이 직접 구현하기

질문있습니다 !

작성

·

220

0

[REMOVE] : (state,action) =>  (  state.timelines = ... )

에서  " ( " 괄호와   ":"가아닌 "=" 를 사용하신 이유가 궁금합니다.

1."(" 괄호는 없어도 정상작동되는데 굳이 사용하신 이유가 있으신가요 ?!

2. 속성값을 덮어씌울 땐 ":" 로 나열해서 덮어씌웠는데,  immer에서는 "=" 로 속성을 덮어씌워주는건가요 ?

답변 5

1

이재승님의 프로필 이미지
이재승
지식공유자

추천해드릴만한 책은 생각나지 않네요ㅜㅜ
아래 두 사이트를 추천드립니다

https://2ality.com/

https://javascript.info/

1

이재승님의 프로필 이미지
이재승
지식공유자

네 말씀하신 게 맞습니다
참고링크: https://reactjs.org/docs/hooks-reference.html#additional-hooks

참고로 아래 코드에서 왼쪽에 state, dispatch 는 얼마든지 원하는 이름으로 수정해서 사용할 수 있습니다. (forceUpdate 처럼)
const [state, dispatch] = useReducer(...)

1

이재승님의 프로필 이미지
이재승
지식공유자

안녕하세요

1. 소괄호는 prettier 라는 툴이 자동으로 붙여준 것입니다. 참고로 prettier 는 자동 포맷팅 툴입니다.

2. ":" 를 사용할 때는 모든 속성을 나열해야되서 코드를 작성할 때 다소 불편합니다
물론 ... 처럼 전개연산자를 사용하면 조금은 편해지지만 여전히 불편한 부분이 있습니다. (중첩된 객체를 수정하는 경우 등)
immer 를 사용하면 수정하려는 속성만 변경해주면 immer 가 자동으로 불편 객체로 관리를 해줘서 편합니다.

0

Prov님의 프로필 이미지
Prov
질문자

ㅏ감사합니다 혹시 자바스크립트 책으로 읽을만한 서적 추천해주실 수 있으신가요 ?

자바스크립트 function안에서 return 으로 함수를 리턴하거나 다차원함수?등 이 부분이 조금 이해가 약한것같아서요!

0

Prov님의 프로필 이미지
Prov
질문자

혹시 useReducer라는 것은 첫 번재 인자로 reducer와 두 번째 인자로 초기 값을 넣는거로 알고 있는데

[, forceUpdate] 이런식으로 받아온다면,

[state,dispatch]와 같은 의미인가요 ? forceUpdate() = dispatch()

Prov님의 프로필 이미지

작성한 질문수

질문하기