TypeScript를 사용하여 React에서 클래스 구성 요소로 작업할 때 생성자 내부에서 props와 state를 정의하는 것이 필요하고 필수인지 묻는 질문이 종종 있습니다. 이 질문에 대한 대답은 구성 요소의 특정 요구 사항에 따라 다릅니다. 이 블로그 게시물에서는 생성자를 사용하여 props와 state를 정의하는 시기와 이유는 물론 다양한 접근 방식의 장단점을 살펴보겠습니다.
1. 소품을 기반으로 한 상태 초기화:
상태가 props에 따라 달라지거나 상태를 초기화할 때 추가 논리를 수행해야 하는 경우 생성자가 최선의 선택입니다.
2. 초기 상태 값 설정:
구성 요소의 초기 상태를 설정하려는 경우 생성자를 사용하는 전통적인 방법이 있습니다.
예:
interface IMyComponentProps { initialCount: number; } interface IMyComponentState { count: number; } class MyComponent extends React.Component{ constructor(props: IMyComponentProps) { super(props); this.state = { count: props.initialCount, }; } render() { return Count: {this.state.count}; } }
1. 단순 상태 초기화:
상태가 복잡하지 않고 props에 의존하지 않는 경우 생성자 없이 직접 상태 초기화를 사용할 수 있습니다.
2. 복잡한 논리가 필요하지 않습니다.
props나 상태와 관련된 추가 로직을 수행할 필요가 없다면 클래스 수준에서 직접 상태를 설정할 수 있습니다.
예:
interface IMyComponentProps { message: string; } interface IMyComponentState { count: number; } class MyComponent extends React.Component{ state: IMyComponentState = { count: 0, }; render() { return Count: {this.state.count}; } }
장점:
단점:
장점:
단점:
두 접근 방식 모두 정확하며 구성 요소의 복잡성과 특정 요구 사항에 따라 달라집니다. 최신 React 코딩에서는 많은 개발자가 자신의 요구 사항을 충족하는 경우 직접 초기화라는 더 간단한 접근 방식을 선호합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3