Я создаю простую форму для регистрации и входа в систему, также у меня есть сервер, на который я отправляю запросы.
У меня есть компонент LogoutButton
const Logout = (props: Props): Node => {
function proceedLogout(logout: Action) {
const userDataJSON: ?string = localStorage.getItem('userData');
if (userDataJSON) {
const {sessionID, userID,}: {sessionID: string, userID: string} = JSON.parse(userDataJSON);
logout({sessionID, userID,});
}
}
const {isLoading, logout,} = props;
function LogoutButton({isLoading, logout,}: Props): Node {
if (isLoading) {
return (<div>Loading...</div>);
}
return (
<Button onClick={(): void => proceedLogout(logout)}>Logout</Button>
);
}
return LogoutButton({isLoading, logout,});
};
типы импорта:
export type Action = {
type: string,
payload?: Error
};
type Props = {
isLoading: boolean,
logout: ({sessionID: string, userID: string}) => void
};
и эта проблема с потоком
Cannot call `logout` because a callable signature is missing in `Action` [1]. (LogoutButton.js:58:7)
Cannot call `proceedLogout` with `logout` bound to `logout` because property `type` is missing in function type [1] but exists in `Action` [2]. (LogoutButton.js:68:50)
какие типы мне нужно добавить для выхода из системы или действия, для продолжения выхода или продолжения вывода продолжения?