ragflow/web/reducer.js

27 lines
599 B
JavaScript
Raw Normal View History

import React, { useReducer } from 'react';
const CHANGE_LOCALE = 'CHANGE_LOCALE';
const mainContext = React.createContext();
const reducer = (state, action) => {
switch (action.type) {
case CHANGE_LOCALE:
return { ...state, locale: action.locale || 'zh' };
default:
return state;
}
};
const ContextProvider = (props) => {
const [state, dispatch] = useReducer(reducer, {
locale: 'zh',
});
return (
<mainContext.Provider value={{ state, dispatch }}>
{props.children}
</mainContext.Provider>
);
};
export { ContextProvider, mainContext, reducer };