Действие не получает правильную опору - PullRequest
0 голосов
/ 26 мая 2020

Я использую React / Redux в этом коде и пытаюсь передать правильную опору действием. Я намерен изменить имя конвертера при нажатии модальной кнопки. Но когда я отлаживаю, консольный сервер показывает мне то же действие без изменений, нажимая кнопку подтверждения.

Мое действие в действиях с файлом:

export const saveOrUpdateConverter = converter => {
    return {
        converter,
        type: CONVERTER.SAVE_OR_UPDATE_CONVERTER
    };
};

Функция, которую я использую для этого :

export const saveOrUpdateConverter = (converter, type) => {
    const url = `${BASE_URL}/SaveOrUpdateConverter`;

    let converterWithoutId = {
        ...converter,
        Id: 0
    };

    return makeRequest(
        {
            method: "post",
            url,
            data: type === "edit" ? converter : converterWithoutId
        },
        (data, dispatch) => {
            // if we are adding a new converter, we need to remove it from newConverters
            if (type === "add") {
                dispatch(actions.removeFromNewConverters(converter));
            }

            dispatch(actions.saveOrUpdateConverter(data));
        },
        true
    );
};

Файл, в котором я вызываю функцию

const handleSaveUpdateConverter = async () => {        
        let type = "edit";
        return await props.saveOrUpdateConverter(converter, type);        
    };

Функция получения компонентов с помощью prop:

    <AddOrEditConverterModal
                        converter={converter}
                        show={showEditConverterModal}
                        onCloseModal={() => setShowEditConverterModal(false)}
                        saveOrUpdateConverter={(converter, propsType) =>
                            handleSaveUpdateConverter(converter, propsType)
                        }
                        type={"edit"}
                    />

Наконец, я вызываю props saveOrUpdateConverter в другой файл:

 const updateConverter = async () => {
        if (converter.IntervalToSavePayload < 5) {
            props.requestError(
                true,
                props.intl.formatMessage({
                    id: "modal.base.converter.interval.save.pyload.error"
                })
            );
            return;
        }

        await props.saveOrUpdateConverter(converter, props.type);
        debugger
        props.onCloseModal();
    };

Подключите функцию для использования saveOrUpdateConverter:

import { connect } from "react-redux";
import { saveOrUpdateConverter } from "Features/Devices/Converters/actions";
import ConverterPage from "./ConverterPage";

const mapStateToProps = state => ({
    activeConverters: state.converter.activeConverters,
    activeInstruments: state.instrument.activeInstruments
});

export default connect(mapStateToProps, {saveOrUpdateConverter})(ConverterPage);
...