首页 > 解决方案 > 从 Reducer 中的回调返回数据

问题描述

我在 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我真的无法在from中找到返回数据的方法SomePackage.parse。应该设置为新状态的数据仅在complete回调内部可用,并且不会以任何方式返回SomePackage.parse 是否有一种优雅的方式来返回这些数据?

标签: javascriptreactjscallbackuse-reducer

解决方案


推荐阅读