J'écris un hook personnalisé pour gérer les saisies dans mon application. J'utilise des types génériques pour définir quel type renvoyer pour mon hook personnalisé. Voici mon code
interface IUseInput {
(): [T, (e: ChangeEvent) => void, U];
}
function useInput(): IUseInput {
const [input, setInput] = useState({});
const [isDirty, setDirty] = useState({});
const handleInputChange = (e: ChangeEvent) => {
setInput({
...input,
[e.target.name]: e.target.value
});
setDirty({
...isDirty,
[e.target.name]: true
});
};
return [input, handleInputChange, isDirty] //cette ligne génère une erreur
}
const Component: React.FC = () => {
const [input, handleChangeInput, isDirty] = useInput<{username: string, password: string}, {username: boolean, password: boolean}>();
return (
....
)
}
Mais je reçois cette erreur Type '{}[]' is not assignable to type 'IUseInput
Où est mon erreur? S'il vous plaît aidez-moi