inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

React로 NodeBird SNS 만들기

4-15. 댓글 컴포넌트 만들기

몇가지 질문있습니다.

129

반가우면반갑다고해

작성한 질문수 142

0

1.setCommentFormOpened(prev => !prev); 

  => prev는 정해진 이름인가요? 예를들어 kimch 이런식으로 이름을 지어줘도 괜찮나요?

2. !me 

=>  me가 null 이면 !me 라고 생각해도 될까요?

3. useCallback() 

=> 정확히 잘 모르겠습니다. 

"- useCallback으로 감싸는 함수기준은 자식 컴포넌트에 넘겨주는 함수는 무조건 감싸준다고 보면됨 " 으로 제가 정리해두기는 했지만 .. 넘겨준다는게 무슨 뜻인가요? 

다른 컴포넌트에서 cosnt name => ({component})=>{}이런식으로

 ({component}) << 이 부분에 들어갈수있는 모든것들은 useCallback()로 감싸주어야하나요?

4. useCallback() 

=> 뒤에 .[] << 이부분의 정확한 용도가 무엇일까요? useEffect()의 .[] 처럼 대괄호 안에있는 변수나 조건등등이 바뀔때마다 렌더링된다로 이해하면 될까요?

마지막으로 긴 글 읽어주셔서 감사합니당!

react javascript

답변 2

1

제로초(조현영)

1. 이름은 마음대로 바꾸셔도 됩니다.

2. me가 null인 경우에는 !me가 true가 되겠죠?

3. jsx에 들어가는 함수인 경우에 useCallback으로 감싸주셔야 합니다. <button onClick={onClick}>처럼 jsx에 들어가는 onClick에요.

4. 감싸주지 않으면 onClick 함수가 리렌더링 시마다 새로 만들어집니다. 함수를 새로 만드는 것은 낭비입니다. 새로 만들어지는 것을 막기 위해서 []를 사용하는 거고, 새로 만들어주어야 하는 특별한 경우가 생기는데(useCallback에서 사용하는 state가 바뀐다거나) 그럴 때 새로 만드는 기준이 될 state를 배열 안에 넣어줍니다.

0

반가우면반갑다고해

와 정말 감사합니다. 도움 많이됬습니다. 사랑합니다! 

next 10 이상에서는 redux dev tool 구동이 안되나요?

0

272

1

세션 갱신 문의 건

0

483

7

배포 진행 후 Highlight updates components render 표시

0

445

1

똑같은 기능을 하는 테이블

0

447

4

관계형

0

312

2

프론트 서버를 이용하지 않는경우

1

299

3

인피니트 스크롤링 사용시 오류

0

278

0

계속 이런에러가 떠서 해결하기는 했는데 어떤 의미인지 모르겠습니다.

0

434

2

req.user가 언제 생성되나요??

0

330

2

Cannot read property 'id' of null 에러

0

333

1

리트윗한 게시글 불러오는 sequelize

0

252

1

result.data에서 images인 이유

0

281

2

takeLatest에 대한 질문입니다.

1

342

2

프론트에서 express를 사용하지 않을때 동적라우팅

0

501

6

getInitialProps가 클라이언트에서 수행되는 이유?

0

258

1

리로드하면 팔로우 언팔로우 값이 초기화 되는 문제입니다.

0

445

2

스타일드 컴포넌트와 className을 통한 스타일 적용의 차이에 대해 궁금합니다

0

585

2

할인 쿠폰 사용이 안되는되요 (848-f9af83f183e3)

0

365

1

nodejs mvc 패턴

0

975

4

사용하고 보니, 람다 구성이 궁금합니다!

0

266

1

제로초님

0

445

1

새로고침 로그인 풀림 문제.

0

247

1

안녕하세요. 강의 너무 감사합니다

0

157

1

제로초님

0

170

1