React, Redux - получение данных после обновления через вызов API - PullRequest
0 голосов
/ 07 июня 2018

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

Поэтому я получаю данные из componentDidMount

componentDidMount() {
    this.props.dispatch(loadData());
}

И из слоя действий я добавляю элемент, как показано ниже

static addItem = (Item: IAddItemRequest): Promise<number> => {
            return Promise.resolve(
            AI.addItem(Item).then((ItemData) => {
                return ItemData;
            }).catch(error => {
                return error;
            }));
        }

Так как я могу загрузить данные после добавления элемента

Также AddItem не изменяется в состоянии

1 Ответ

0 голосов
/ 07 июня 2018

Возможное soln может быть выбрано с использованием двух действий: 1, которое добавляет элемент, и второго, которое загружает данные.

export const loadData = (ItemData) => {
    return {
        type: LOAD_DATA,
        payload: ItemData
    };
};

export const addItemAction = (Item) => {
    return dispatch => {
        addItem(Item).then(ItemData => {
            dispatch(loadData(ItemData));
        });
    };
};

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

componentDidMount() {
    this.props.dispatch(addItemAction(Item));
}
...