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

2145007님의 프로필 이미지

작성한 질문수

[2024] 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

8.4) Create - 투두 추가하기

onCreate함수를 app컴포넌트가 아닌 editor컴포넌트에서 작성

해결된 질문

24.09.18 16:49 작성

·

44

0

app 컴포넌트에서 const [todos, setTodos] = useState(mockDate); 를 생성하고 자식 컴포넌트인 editor컴포넌트에서 oncreate 함수를 만들어도 되나요? app 컴포넌트에 state를 생성했으니 리스트 컴포넌트에도 전달이 가능할 거 같아서요. 이렇게 안하는 이유는 App에서 관리하는 것이 더 일관적이며 유지보수가 쉬운 구조라서 그런가요?

답변 2

0

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

2024. 09. 19. 12:09

안녕하세요 이정환입니다.

좋은 질문 감사합니다 👍

onCreate 함수를 Editor 컴포넌트에서 만들게 되면 Editor 컴포넌트에게 App 컴포넌트의 setTodos 함수를 Props로 넘겨줘야 하는 상황이 발생합니다. 그러나 이는 불필요한 Props라고 볼 수 있습니다.

App 컴포넌트에 바로 onCreate 함수를 만들어두면 이런 Props는 전달될 필요 자체가 없기 때문이죠 따라서 컴포넌트 간의 데이터 전달 복잡성을 줄이기 위해서도, 그리고 말씀하신대로 코드의 응집성을 높이기 위해서도 State를 보유한 컴포넌트에 핸들링하는 함수들도 함께 작성하는게 일반적입니다 😃

0

인프런 AI 인턴님의 프로필 이미지

2024. 09. 18. 16:50

안녕하세요, 인프런 AI 인턴입니다.

2145007님을 위해 유사한 질문과 답변을 찾아보았습니다. 해당 질문은 주로 onCreate 함수 및 상태 관리 패턴에 대한 내용입니다. 이를 참고해보세요.

  1. 투두 추가할 때 onChangeContent 작성 이유

    • 이 질문은 상태 관리의 효율성과 관련된 것으로, 상태 관리 방식에 대한 기본적인 원리를 설명하였습니다. 강의에서 주로 State를 사용하는 이유와 관련이 있습니다.
  2. onCreate is not a function 에러

    • 이 질문에서는 onCreate 함수의 정의와 사용에 대해 다루고 있습니다. 이에 따르면, 함수를 전달하는 방식과 호출 방식에 대한 설명이 자세히 나와 있습니다.
  3. onCreate 함수 호출에 대해 질문드립니다.

    • 이 질문에서는 onCreate 함수를 객체로 전달하는 방법에 대해 설명하고 있으며, 주로 코드를 간결하게 유지하는 방법에 대한 내용을 다룹니다.

이 질문들이 제공하는 답변을 바탕으로, App 컴포넌트에서 상태를 관리하는 것이 유지보수성 측면에서 좋다는 이유와 함께, 각 컴포넌트의 역할이 명확해지기 때문에 전체적인 코드의 일관성이 높아진다는 점을 이해하는 데 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

2145007님의 프로필 이미지

작성한 질문수

질문하기