import React, { useEffect, useState } from 'react';
import { useParams } from 'react-router-dom';
import { useMount, useAsyncFn } from 'react-use';
import { Grid } from '@material-ui/core';
import { useTranslation } from 'react-i18next';
import LegalEntitiesService from 'shared/services/LegalEntitiesService';
import { TextField } from 'shared/components/Form';
const LegalEnityInformation: React.FC= () => {
const { legalEntityId } = useParams();
const { t } = useTranslation();
const [legalEntity, setLegalEntity] = useState<any>({
id: null,
name: '',
address: '',
municipalityCode: '',
eik: '',
municipality: { name: '' },
});
useMount(() => {
if (legalEntityId) {
fetchData();
}
});
const [legalEntityData, fetchData] = useAsyncFn(
() => LegalEntitiesService.getLegalEntity(legalEntityId),
[]
);
useEffect(() => {
if (
!legalEntityData.loading &&
legalEntityData.value &&
!legalEntityData.error
) {
const data: any = legalEntityData.value.data;
setLegalEntity({ ...data });
} else if (legalEntityData.error) {
// console.log(legalEntityData.error.message);
}
}, [legalEntityData]);
return (...);
};
export default LegalEnityInformation;
I cannot understand why property legalEntityId doesnt exist on type {}
Shall I add interface/constructor?
Let's define legalEntityId to be a number, maybe it is gonna be better?
sth like interface Props { legalEntityId? = number} ?