ChildComponent
не сможет напрямую выводить наборы из ParentComponent
. Однако, что вы можете сделать для достижения аналогичного результата, так это определить общий интерфейс для ParentComponent
и ChildComponent
.
Сначала вы определите общий интерфейс / тип для вашего состояния ParentComponent
.
export interface CommonState {
tab: number;
info: Info;
}
Затем мы используем интерфейс при объявлении хуков useState
в ParentComponent.
const [tab, setTab] = useState<CommonState['tab']>(0)
const [info, setInfo] = useState<CommonState['info']>({
color: 'red',
isActive: false,
});
Затем вместо ChildComponent
вместо объявления нового типа для ребенка это может быть расширение интерфейса CommonState
, так что наборы будут общими.
interface Props extends CommonState {
setTab: (p: number) => void
setInfo: (p: Info | ((p: Info) => any)) => void
}