Я начинаю тестирование, и я действительно застрял в этом.
У меня есть компонент
interface IFiltersInput {
onChange?: (e: any) => void;
onKeyUp?: (e: any) => void;
value?: string;
type?: string;
id?: string;
isInvalid?: boolean;
name: string;
label: string;
}
export const myInput: FunctionComponent<IFiltersInput> = (props) => {
const btnGroupClasses = {...};
if (props.type === 'number') {
return (
<div className='col-25'>
<label className="label">{props.label}</label>
<input
id={props.id}
className={btnGroupClasses}
onChange={props.onChange}
onKeyUp={props.onKeyUp}
value={props.value}
type="number"
min="0"
/>
</div>
);
}
return (
<div className='col-25'>
<label className="label">{props.label}</label>
<input
type={props.type}
id={props.id}
className={btnGroupClasses}
onChange={props.onChange}
onKeyUp={props.onKeyUp}
value={props.value}
/>
</div>
);
}
, а затем, когда я пытаюсь смонтировать
describe('myFilter', () => {
...
const component = mount(<myInput name='my-name' label='some-label' inInvalid={false} />);
...
});
И вот когда я получаю ошибку, myInput ссылается на значение, но используется здесь как тип ts (2749).
Есть идеи?