seminar-2020
seminar-2020 copied to clipboard
TypeError: this.props.onCreate is not a function
@dkwanm1 님의 댯글을 봤더니 제가 아주 기초적인 내용을 까먹어서 막혔었다는 걸 깨달았습니다... 이번 과제의 version-react는 props만 잘 넘겨주면 되는 거였네요
그래서 일단 버튼을 누르면 입력창이 생겼다가 없어지는 것가지는 구현했는데, 문제는 그 다음에 Like 수를 세는 게 안 되고 있습니다.
에러가 나는 부분은 다음과 같고, Boxi는 하나의 리스트 항목을 나타내는 컴포넌트입니다. 이걸 Boxez 컴포넌트에서 받아서 리스트에 넣어서 data라는 이름으로 App에 넘겨주고 있습니다.

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

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

그런데 대체 왜 this.props.onCreate()가 에러가 나올 수 있는지, 그리고 두번째 에러는 왜 나오는지 영 모르겠어서 질문드립니다
감사합니다!
일단 첫 번째 에러는 js 문법 문제입니다
state = {
...
likes: 1
}
위와 같은 구조의 state
에서 likes
를 가져오려면 아래와 같이 작성해야합니다(편의상, this
는 생략합니다)
const { likes } = state
만약 아래처럼 작성하면, state.likes.likes
를 찾아서 갖고 오게 됩니다.
const { likes } = state.likes
두 번째 에러는 props
를 넘겨주는 부분을 봐야 확인이 가능할 것 같습니다.
props
를 넘길 때, 오타가 있거나 할 거 같아요
네 감사합니다 해결되었습니다!