Получить асинхронные данные с реагирующим редукционным зондом - PullRequest
0 голосов
/ 04 июля 2019

У меня была проблема, когда я хочу использовать некоторые данные (но массив пуст, а в редуксе есть информация) Я думаю, что это проблема асинхронности.Сначала я извлек свои данные в

  componentDidMount() {
     this.props.getFaq();
  }

и хочу, чтобы результат отобразил их.

для извлечения данных сначала я использовал этот код

import axios from "axios";
import { GET_FAQ, GET_ERRORS } from "./types";
export const getFaq = () => dispatch => {
  axios
    .get("/faqs")
    .then(res =>
      dispatch({
        type: GET_FAQ,
        payload: res.data
      })
    )
    .catch(err =>
      dispatch({
        type: GET_ERRORS,
        payload: err
      })
    );
};

, затем яизменил его на

import axios from "axios";
import { GET_FAQ, GET_ERRORS } from "./types";
export const getFaq = () => async dispatch => {
  const payload = await getData();
  dispatch({
    type: GET_FAQ,
    payload
  });
};

async function getData() {
  const result = await axios("/faqs");
  console.log(result.data);
  return await result.data;
}

, но данные все еще пусты, когда я консоль регистрирую это

1 Ответ

0 голосов
/ 04 июля 2019

Вы неправильно используете axios.Попробуйте использовать

axios.get('/faqs');

или

const config = {
  method: 'get',
  url: '/faqs',
};
axios(config);
...