У меня есть следующая проблема в контексте 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
. Данные, которые должны быть установлены как новое состояние, доступны только внутри complete
callback и никак не возвращаются из SomePackage.parse
Есть ли элегантный способ вернуть эти данные?
SomePackage.parse
не возвращает новое состояние. Почему нельзя просто вернуть новый объект с обновленными свойствами? - person Andy   schedule 01.07.2021complete
callback - person Meatgear   schedule 01.07.2021