Sprawdziłem najnowsze typowania i zapomnieli dodać nowe definicje w bezpaństwowym interfejsu komponentu. Podniosłem problem i wkrótce powinno to zostać naprawione.
Zwracanie tablicy z komponentów klasy działa tak, jeśli naprawdę potrzebujesz teraz możesz przekształcić komponent funkcjonalny w komponent klasy.
class Elements extends React.Component<{}> {
render() {
return [
<div key="a"></div>,
<div key="b"></div>
]
}
}
lub tymczasowo rozszerzyć typowania React za pomocą modułu rozszerzania. Wystarczy umieścić poniższy kod w jednym z plików .ts, a maszynopis automatycznie wykryje zmiany w definicjach.
declare module "react" {
interface StatelessComponent<P = {}> {
(props: P & { children?: ReactNode }, context?: any): ReactElement<any>[] | ReactElement<any> | null;
propTypes?: ValidationMap<P>;
contextTypes?: ValidationMap<any>;
defaultProps?: Partial<P>;
displayName?: string;
}
}
to wciąż świeża wersja, a typowania nie są jeszcze gotowe. Tutaj masz link, pod którym możesz śledzić postęp: https://github.com/DefinitelyTyped/DefinitelyTyped/pull/19363 (połączyli go kilka dni temu, ale ludzie nadal mają problemy) – niba
Dzięki za link! –