Значение пользовательской переменной как тип - PullRequest
0 голосов
/ 30 мая 2018

Я пытаюсь напечатать redux создателей действий.У меня есть типы действий, такие как:

// @flow
export const SET_USER_TOKEN = "SET_USER_TOKEN";
export const SET_TOKEN_IN_COOKIES = "SET_TOKEN_IN_COOKIES";

Теперь я хочу создать тип создателя действий:

import * as actions from "./actions";

type SetUserTokenAction = {
  type: actions.SET_USER_TOKEN,
  token: string
};

Проблема со свойством type, я не могу сделать это каквыше.Нужно ли использовать буквальную строку?

Я знаю, что можно сделать нечто подобное для всего объекта :

type ActionTypes = $Keys<typeof user>;

Я бы хотел сделать то же самоедля значения простой строковой переменной.

1 Ответ

0 голосов
/ 30 мая 2018

Вы можете использовать typeof oprator:

type SetUserTokenAction = {
  type: typeof actions.SET_USER_TOKEN,
  token: string
};

Единственное предостережение заключается в том, чтобы также ввести const ( в противном случае его тип разрешен как string):

export const SET_USER_TOKEN: 'SET_USER_TOKEN' = 'SET_USER_TOKEN';
...