seminar-2020 icon indicating copy to clipboard operation
seminar-2020 copied to clipboard

TypeError: this.props.onCreate is not a function

Open Wits15730 opened this issue 4 years ago • 2 comments

@dkwanm1 님의 댯글을 봤더니 제가 아주 기초적인 내용을 까먹어서 막혔었다는 걸 깨달았습니다... 이번 과제의 version-react는 props만 잘 넘겨주면 되는 거였네요

그래서 일단 버튼을 누르면 입력창이 생겼다가 없어지는 것가지는 구현했는데, 문제는 그 다음에 Like 수를 세는 게 안 되고 있습니다.

에러가 나는 부분은 다음과 같고, Boxi는 하나의 리스트 항목을 나타내는 컴포넌트입니다. 이걸 Boxez 컴포넌트에서 받아서 리스트에 넣어서 data라는 이름으로 App에 넘겨주고 있습니다.

스크린샷 2020-09-28 오전 1 35 17

여기서는 Boxi의 state의 like를 Boxez에 넘겨주고, Boxez에서 내용을 표시하려고 했는데요, 자꾸 다음의 에러가 나왔습니다.

스크린샷 2020-09-28 오전 1 47 30

일단 포기하고 원래 상태로 돌아가려는데,
자꾸 이런 에러가 나오더라구요...

스크린샷 2020-09-28 오전 1 39 37

그런데 대체 왜 this.props.onCreate()가 에러가 나올 수 있는지, 그리고 두번째 에러는 왜 나오는지 영 모르겠어서 질문드립니다

감사합니다!

Wits15730 avatar Sep 27 '20 16:09 Wits15730

일단 첫 번째 에러는 js 문법 문제입니다

state = {
  ...
  likes: 1
}

위와 같은 구조의 state 에서 likes 를 가져오려면 아래와 같이 작성해야합니다(편의상, this 는 생략합니다)

const { likes } = state 

만약 아래처럼 작성하면, state.likes.likes를 찾아서 갖고 오게 됩니다.

const { likes } = state.likes 

두 번째 에러는 props를 넘겨주는 부분을 봐야 확인이 가능할 것 같습니다. props를 넘길 때, 오타가 있거나 할 거 같아요

ars-ki-00 avatar Sep 28 '20 09:09 ars-ki-00

네 감사합니다 해결되었습니다!

Wits15730 avatar Sep 28 '20 13:09 Wits15730