Мой интерфейс Props разделен на базовый интерфейс и два типа объединения:
interface BaseProps {
...
}
interface ControlledInput extends BaseProps {
value: string;
onChange: ...;
}
interface UncontrolledInput extends BaseProps {
defaultValue: string;
ref: string;
}
export const TextInput:
React.SFC<ControlledInput | UncontrolledInput> = ({
type,
label,
value,
...rest
}) => {
Однако деконструкция значение дает мне массив, так как он не существуетна UncontrolledInputProps.
Я считаю, что мне понадобится типографская защита, что-то вроде:
if (typeof rest.value === 'string') {
Я действительно не могу обернуть ее вокруг.Любая помощь приветствуется!