Angular 17.1은 데코레이터 기반의 @Input() 입력 대신 반응형 대안인 신호 입력을 도입합니다. 신호 입력은 코드 품질과 생산성을 향상시키는 더 나은 형식 안전성을 제공하여 Angular 신호와의 통합을 용이하게 합니다.
신호 입력은 개발자가 신호를 사용하여 입력 변경에 효과적으로 대응할 수 있도록 지원하며, 선택적 및 필수 입력을 지원합니다.
@Input()과 비교하여 신호 입력은 OnPush 구성 요소를 자동으로 더티로 표시하여 DX를 개선하고 Zoneless 방향으로 나아갑니다.
신호 입력은 신호의 힘을 활용하여 변경 모니터링 및 값 파생을 효율적으로 처리하고 Angular에 필요한 다시 그리는 작업을 알립니다.
가능한 사용 사례로는 선언 및 렌더링, 변경 모니터링, 값 파생 및 값 변환 등이 있습니다.
신호 입력은 원시 값 처리 및 특정 요구 사항 충족을 위해 변환 및 별칭을 지원하여 유연성을 제공합니다.
Angular 팀은 향후 버전에서 생산 상태로 승격되면 신호 입력을 사용할 것을 권장합니다.
개발자는 개발자 미리보기에서 신호 입력에 대한 피드백을 제공할 것을 권장합니다.
input()의 약식 표기는 초기 값으로 undefined를 암묵적으로 사용하는 데 혼란을 초래할 수 있습니다.
입력은 이제 읽기 전용으로, 구성 요소 내부에서 입력을 업데이트하는 애플리케이션에 영향을 줄 수 있습니다.
blog.angular.dev
Signal inputs available in developer preview
