개발자
안녕하세요. 스타트업에서 일하고 있는 신입 프론트엔드 개발자 입니다. 현재 쓰고 방식은 // 이메일 동의 통신 const [emailAgreed, setEmailAgreed] = useState(); const handleEmailAgreementClick = () => { 생략 } // 새로운거 const [새로운거, set새로운거] = useState(); const 새로운거함수 = () => { 생략 } 이렇게 리액트에서 작성을 하고 있습니다. const [등등, set등등] = useState(); 전부다 위로 올려서 적는게 좋은건가요? 아니면 제가 하는 방식 해도 사용해도 문제가 없을까요?
답변 1
음.. 아마도 회사마다 기준이 다를 것 같아서 제가 있는 회사에서 가지고 있는 기준을 말씀드려보자면, const 선언이 필요한 부분이 컴포넌트 최상단에 선언됩니다. useState와 같이 컴포넌트 내에서 필요한 react-hook을 선언합니다. 마지막으로 컴포넌트 안에서 생성해서 사용되는 함수들을 선언합니다. 방식에 따라 장단점이 있을 것 같은데 컴포넌트 내부에서 선언되는 useState나 함수가 많지 않다면 말씀하신 방법대로 사용하셔도 될 것 같고 조금이라도 개수가 많다라는 생각이 들면 useState와 함수들을 따로 모아두는게 좋은것 같습니다. 중요한건 같이 작업을 하시는 동료 개발자분들과 협의하여 기준을 만드는것 같아요!
이승훈
작성자
R&D 개발 연구원 • 2024년 01월 08일
그렇군요 프론트 개발을 혼자 하다보니 어떤것이 맞는 방식이 몰랐는데 이것저것 시도 해봐야겠네요.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2024년 01월 08일
`useState`와 함수 관리에 대한 좋은 방식은 코드의 가독성, 재사용 가능성, 상태 변경의 복잡성 등 여러 요소에 따라 달라질 수 있습니다. 주어진 예제를 보면, 각 컴포넌트에서 독립적인 상태값과 그 상태를 변경하는 함수를 선언하고 있고 이 로직이 명확하게 분리되어 있습니다. 이는 간단한 상황에서는 문제가 되지 않으며 가독성 또한 좋을 수 있습니다. 그러나 가독성의 측면에서 생각해볼 때, 큰 프로젝트나 많은 수의 state 변수들을 관리해야 하는 경우엔 모든 useState와 이에 관련된 함수들을 컴포넌트 최상단에 선언하는 것이 어떤 state들이 있는지 한눈에 파악하기 쉽게 할 수 있습니다. 그러나 결정적으로 `useState` 및 관련 함수의 위치가 중요한 것은 아닙니다. 더 중요한 것은 해당 코드가 깔끔하게 정리되고 임무를 제대로 수행하는지, 팀원들 사이에서 공유된 코딩 스타일과 일관성을 지키는지 등입니다. 더 나아가서 많은 상태값들을 관리하거나 상태 값들 간의 로직이 복잡해진다면, 리액트의 `useReducer`나 상태 관리 라이브러리를 사용하는 것을 고려하시는 것도 좋습니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!