Redux для отправки данных в API - PullRequest
0 голосов
/ 28 марта 2019

У меня есть действия для извлечения данных для отображения в моем приложении.У меня также есть события кликов в моем приложении, которые отправляют данные в конечную точку API и возвращают сообщение или ошибку.

Должен ли я оставить их как в событиях компонента или переместить их в Redux

actions.js

import * as TYPES from './types';
import axios from 'axios';

export const getTableData = (page, url, limit, skip, where, sort, current) => async dispatch => {
  try {
    dispatch({ type: TYPES.FETCH_TABLE_DATA_LOADING });
    const response = await axios.post(url, {
      limit,
      skip,
      where,
      sort
    });
    await dispatch({
      type: TYPES.FETCH_TABLE_DATA,
      payload: {
        [page]: {
          url: url,
          data: response.data,
          limit: limit,
          skip: skip,
          where: where,
          sort: sort,
          pagination: {
            total: response.data.meta.total,
            current: current,
            pageSizeOptions: ["10", "20", "50", "100"],
            showSizeChanger: true,
            showQuickJumper: true,
            position: "both"
          }
        }
      }
    });
    dispatch({ type: TYPES.FETCH_TABLE_DATA_FINISHED });
  } catch (err) {
    dispatch({ type: TYPES.INSERT_ERROR, payload: err.response });
  }
};

Текущая функция события щелчка, я должен переместить это в избыточность?Могу ли я увидеть пример?

onAction = async (state) => {

        try {
        await  axios
            .post(`${process.env.REACT_APP_API_URL}/job/${this.props.record.id}/qc/${state}`, {
              ...this.state.postData
            })

          message.info(`item ${state}`, 1).then(() => this.props.close());

        }
        catch (error) {
          message.error(`${error}`);
          console.error(error);
        }
  }
...