Возврат данных из обратного вызова в редьюсере

У меня есть следующая проблема в контексте React:

    import * as React from 'react';
     
    export const Context = React.createContext();
     
    function reducer (state, action) {
        switch (action.type) {
            case 'set': {
               SomePackage.parse(action.result, {
                    options: true
                    complete: (result) => {
                        // Result is available here
                    }
                });
            }
            default: {
                throw new Error(`Unhandled action type: ${action.type}`)
            }
        }
    }
    
    export function ContextProvider ({ children }) {
        const [state, dispatch] = React.useReducer(reducer, {});
    
        return (
            <Context.Provider value={{state, dispatch}}>
                {children}
            </Context.Provider>
        )
    }

Я не могу найти, чтобы вернуть данные внутри reducer из SomePackage.parse. Данные, которые должны быть установлены как новое состояние, доступны только внутри completecallback и никак не возвращаются из SomePackage.parse Есть ли элегантный способ вернуть эти данные?


person Meatgear    schedule 01.07.2021    source источник
comment
SomePackage.parse не возвращает новое состояние. Почему нельзя просто вернуть новый объект с обновленными свойствами?   -  person Andy    schedule 01.07.2021
comment
Отвечает ли это на ваш вопрос? Асинхронная выборка данных React useReducer   -  person Jazz    schedule 01.07.2021
comment
@ И данные, которые я хочу установить в качестве нового состояния, доступны только внутри completecallback   -  person Meatgear    schedule 01.07.2021