Валидация входящих пропсов FC, useState
Hужно сделать правильную валидацию входящих пропсов. Со строкой id нет никаких проблем. А вот setList - функция хука useState, которaя должна принимать массив таких обьектов -
interface ZapisiI {
_id: string;
field1?: string;
field2?: string;
field3?: string;
date?: string;
}
Я перепробовал много всяких вариантов и не представляю как реализовать проверку этой сущности по правильному. У меня выскакивают 2 такие ошибки в строке с setList(zapisi);:
- This expression is not callable. ts(2349)
- Type 'AppointmentI[]' has no call signatures.
А сами компоненты выглядят так:
Zapisi.tsx
const Zapisi = () => {
const [list, setList] = useState < ZapisiI > [];
const fetchData = async () => {
const zapisi= await store.getZapisi();
setList(zapisi);
};
useEffect(() => {
fetchData();
}, []);
return (
<ModalEdit setList={setList} id={id} />
)
}
ModalEdit.tsx
interface ModalEditI {
id: string;
setList: AppointmentI[];
}
const ModalEdit: FC<ModalEditI> = ({ id, setList }) => {
..... в предыдущем компоненте переменная "list" содержит старый массив записей
setList(zapisi); // zapisi массив объектов таких как обозначено выше
.... а теперь предыдущий компонент содержит переменную "list" с новым массивом записей
}
ModalEdit.propTypes={
[]: {AppointmentI}[]
}
export default observer(ModalEdit);
Какие нибудь мысли как это решить?
Спасибо.