Какой тип давать аннотации потока для действия в событии - PullRequest
0 голосов
/ 10 января 2019

Я создаю простую форму для регистрации и входа в систему, также у меня есть сервер, на который я отправляю запросы. У меня есть компонент 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)

какие типы мне нужно добавить для выхода из системы или действия, для продолжения выхода или продолжения вывода продолжения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...