PluginProbe
ElasticPress / 4.7.2
ElasticPress v4.7.2
5.3.5 5.3.4 3.6.5 3.6.6 4.0.0 4.0.1 4.1.0 4.2.0 4.2.1 4.2.2 4.3.0 4.3.1 4.4.0 4.4.1 4.5.0 4.5.1 4.5.2 4.6.0 4.6.1 4.7.0 4.7.1 4.7.2 5.0.0 5.0.1 5.0.2 All 108 releases
elasticpress / assets / js / synonyms / context.js

context.js in ElasticPress 4.7.2, at assets/js/synonyms/context.js

32 lines 699 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 /**
2 * WordPress dependencies.
3 */
4 import { createContext, useReducer, WPElement } from '@wordpress/element';
5
6 /**
7 * Internal dependencies.
8 */
9 import { editorReducer, initialState } from './reducers/editorReducer';
10
11 const State = createContext();
12 const Dispatch = createContext();
13
14 /**
15 * App Context.
16 *
17 * @param {object} props Props.
18 * @returns {WPElement} AppContext component
19 */
20 const AppContext = (props) => {
21 const { children } = props;
22 const [state, dispatch] = useReducer(editorReducer, initialState);
23
24 return (
25 <State.Provider value={state}>
26 <Dispatch.Provider value={dispatch}>{children}</Dispatch.Provider>
27 </State.Provider>
28 );
29 };
30
31 export { AppContext, State, Dispatch };
32