Guest User

Untitled

a guest
Jun 20th, 2019
120
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. import React from 'react';
  2. import { AppProvider, useAppValue } from './AppContext';
  3. import FormLogin from './FormLogin';
  4. import FormRegister from './FormRegister';
  5.  
  6. const App = () => {
  7. const initialState = {
  8. page: <FormLogin/>
  9. }
  10.  
  11. const reducer = (state, action) => {
  12. switch (action.type) {
  13. case 'loadLogin':
  14. return {
  15. ...state,
  16. page: <FormLogin/>
  17. };
  18. case 'loadRegister':
  19. return {
  20. ...state,
  21. page: <FormRegister/>
  22. };
  23. default:
  24. return state;
  25. }
  26. };
  27.  
  28. let { page } = useAppValue();
  29. let currentPage = page ? page : <FormLogin/>
  30.  
  31. return (
  32. <AppProvider initialState={initialState} reducer={reducer}>
  33. <div className="App">
  34. {currentPage}
  35. </div>
  36. </AppProvider>
  37. );
  38. }
  39.  
  40. export default App;
  41.  
  42. import React, { createContext, useContext, useReducer } from 'react';
  43.  
  44. export const AppContext = createContext();
  45. export const AppProvider = ({reducer, initialState, children}) => (
  46. <AppContext.Provider value={useReducer(reducer, initialState)}>
  47. {children}
  48. </AppContext.Provider>
  49. );
  50.  
  51. export const useAppValue = () => useContext(AppContext);
Advertisement
Add Comment
Please, Sign In to add comment