Машинопись | Аргумент типа '{имя пользователя: строка; пароль: строка; } 'нельзя назначить параметру типа' string ' - PullRequest
0 голосов
/ 17 июня 2019

У меня есть этот простой сервис, который принимает конечную точку и выполняет HTTP_CALL.Вот это ниже:

export const updatePassword = (data: {
  username: string;
  password: string;
}): HttpResponse<string> => {
  const { username, password } = data;
  const options = {
    method: httpMethod.POST,
    url: endpoint.UPDATE_PASSWORD({
      username,
      password
    })
  };
  return instance(options);
};

Но я получаю эту ошибку:

Argument of type '{ username: string; password: string; }' is not assignable to parameter of type 'string'.

Я не уверен, в чем его проблема, так как я делаю то же самое несколько строк выше иЯ не получаю сообщение об ошибке.

Если вам нужна конечная точка, которую я нажимаю, вот она:

  UPDATE_PASSWORD: (username: string) => `${prefix}/${username}/password`,

Кроме того, HttpRespone является расширением AxiosResponse Generic и instanceявляется расширением AxiosRequestConfig вместе с некоторыми пользовательскими обобщениями.

// ОБНОВЛЕНИЕ.Это преобразованный путь:

export const updatePassword = (data: { username: string }): HttpResponse<string> => {
  const { username } = data;
  const options = {
    method: httpMethod.POST,
    url: endpoint.UPDATE_PASSWORD(username)
  };
  return instance(options);
};

Ответы [ 2 ]

0 голосов
/ 17 июня 2019

Вы можете заставить UPDATE_PASSWORD принимать два параметра - один для имени пользователя и другой для пароля.

UPDATE_PASSWORD: (username: string, password: string) => `${prefix}/${username}/password`,

export const updatePassword = (data: {
  username: string;
  password: string;
}): HttpResponse<string> => {
  const { username, password } = data;
  const options = {
    method: httpMethod.POST,
    url: endpoint.UPDATE_PASSWORD(username, password)
  };
  return instance(options);
};
0 голосов
/ 17 июня 2019

Что вам нужно, так это JSON.stringify для преобразования вашего объекта javascript в текст JSON.

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