Преобразование результатов асинхронной выборки для управления асинхронным реагированием и выбором - PullRequest
0 голосов
/ 17 января 2019

Я пытаюсь преобразовать возвращаемые значения из вызова асинхронной выборки и вернуть их компоненту асинхронного реагирования-выбора. Он заполнит компонент select («пустыми» записями, поскольку они не в правильном формате), если я просто передам результат выборки, но если я попытаюсь преобразовать результат выборки в {label: X, value: Y} формат, компонент реагирования выбора не показывает значений в раскрывающемся списке.

Опциональная функция заполнения

  const promiseOptions = inputValue =>
    new Promise(resolve => {
      resolve(
        fetch("/api/Client")
          .then(resp => resp.json())
          .then(function(data) { //not working if I transform data here
            data.map(x => {
              return {
                value: x.id,
                label: x.name
              };
            });
          })
      );
    });

Реагирует на выбор асинхронного компонента

<AsyncSelect cacheOptions defaultOptions loadOptions={promiseOptions} />

1 Ответ

0 голосов
/ 17 января 2019

для этого экземпляра вы должны использовать setState при получении ответа, а затем для преобразования данных в метку значения вы должны обработать их в loadOption с помощью другого метода или функции; fetch - это асинхронный метод в природе, и использование Promise не нужно

...