StepanTur
@StepanTur
fullstack node js react native mobile developer

Как получить все пропсы компонента React по его экземпляру?

У нас имеется typescript и два компонента.
Я хочу чтобы компонент 2 требовал в пропсы все те же значения, что и компонент 1.
Как я это себе представляю:
import {Button} from 'react-native';
const MyButton = (props: typeof Button) => {
  return <Button title={props.title} onPress={props.onPress} style={{color:'#fff'}} />
}

(представим, что у нас нету предопределенных типов наподобие ButtonPropsTypes (например , если мы используем кнопку из какой нибудь дизайн библиотеки))
  • Вопрос задан
  • 143 просмотра
Решения вопроса 1
bingo347
@bingo347 Куратор тега TypeScript
Crazy on performance...
import type {ComponentType} from 'react';
import {Button} from 'react-native';

type InferProps<Component> = Component extends ComponentType<infer Props> ? Props : never;

const MyButton = (props: InferProps<typeof Button>) => {
  return <Button title={props.title} onPress={props.onPress} style={{color:'#fff'}} />
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы