업데이트 안내
Ignite UI for React 버전 관리에서 첫 번째 숫자는 항상 코드가 지원하는 React의 주 버전과 일치하고 두 번째 숫자는 주 버전 릴리스 전용입니다. 주요 릴리스 사이에 호환성이 손상되는 변경이 도입될 수 있습니다. 각 Ignite UI for React 릴리스에 대한 포괄적인 변경 사항 목록은 제품 CHANGELOG에서 확인할 수 있습니다.
From 18.9.0 to 19.0.0
이 릴리스에는 igniteui-react 및 igniteui-react-grids 패키지에서 다음과 같은 변경 사항으로 이어지는 React 구성 요소 내부 중 일부의 주요 재작업이 포함되어 있습니다.
일반적인
Breaking changes
- Ignite UI for React 컴포넌트가 이제 React Function Components를 사용하므로, useRef에서 얻은 참조는 클래스 컴포넌트 인스턴스가 아닌 네이티브 요소의 포워드가 됩니다. 많은 사용 사례는 변경되지 않을 수 있지만, DOM 요소 자체에 접근하기 위해 추가 속성이 필요 없는 등 필요한 변경이 필요할 수 있습니다.
- 컴포넌트는 더 이상 모든 속성 유형(예: 불리언 | 문자열 또는 숫자 | 문자열)에 대해 대체 문자열 합집합을 허용하지 않습니다. 또한, 스트링 유니언 유형은 더 이상 대문자 구분이 없습니다.
<IgrColumn dataType="String" sortable="true"></IgrColumn>
Becomes:
<IgrColumn dataType="string" sortable={true}></IgrColumn>
- 구성 요소 이벤트는 이제 접두사가 붙습니다.
<IgrGrid columnPin={handlePinning}></IgrGrid>
Becomes
<IgrGrid onColumnPin={handlePinning}></IgrGrid>
- 구성 요소 이벤트는 단일 표준을 방출합니다 커스텀이벤트 인항 대신
sender첫 번째 변론으로. 따라서 다음과 같은 커스텀 속성이 있습니다 sender.nativeElement 더 이상 이용할 수 없지만, 네이티브 이벤트 자산들은 모두 이용 가능합니다. 또한, 이벤트 인자 타입은 특정 커스텀 이벤트에 대한 별칭으로 제공되므로, 사용 시 접근detail그대로 유지될 것입니다. 새로운 핸들러 서명과 함께event.detail는 동일하고event.target는 송신자와 동등한 DOM 요소입니다:
const handlePinning = (sender: IgrGridBaseDirective, event: IgrPinColumnCancellableEventArgs) => {};
Becomes:
const handlePinning = (event: IgrPinColumnCancellableEventArgs) => {}
// equivalent to
const handlePinning = (event: CustomEvent<IgrPinColumnCancellableEventArgsDetail>) => {}
- 컴포넌트는 기본적으로 비기능
name적 특성을 더 이상 가지지 않습니다. 이 속성은name igniteui-react 컴포넌트, 주로 andIgrInput와 같은IgrCombo폼 입력에서만 남아 있으며, 이 경우 네이티브 기능을 가지고 있습니다. - Ignite UI for React 부품은 더 이상
keyReact에 따라 필요하지 않은 한 재산물입니다. 문서조사 - IgrDataGrid는 더 이상 igniteui-react-grids 패키지의 일부가 아닙니다. igniteui-react-data-grids로 이동되어 igniteui-react-grids를 더 가볍게 만들었습니다.
- 버전 18.9.0 에서는 클래스로 노출된 여러 유형이 있었지만 더 이상 그렇지 않습니다. 이제 유형으로 내보내지며 다음과 같이 사용할 수 있습니다.
const pivotConfiguration = new IgrPivotConfiguration();
Becomes:
const pivotConfiguration: IgrPivotConfiguration = {
rows: [],
columns: [],
values: []
}