-
Notifications
You must be signed in to change notification settings - Fork 0
/
usereducercheck.txt
46 lines (39 loc) · 1.04 KB
/
usereducercheck.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
// import React, { useReducer } from 'react';
// /**
// * @typedef {Object} State
// * @property {number} count
// * @property {string | null} error
// */
// /**
// * @typedef {Object} Action
// * @property {'increment' | 'decrement'} type
// */
// /**
// * @param {State} state
// * @param {Action} action
// * @returns {State}
// */
// function reducer(state, action) {
// const { type } = action;
// switch (type) {
// case 'increment': {
// return { ...state, count: state.count + 1 };
// }
// case 'decrement': {
// return { ...state, count: state.count -1 };
// }
// default:
// return state;
// }
// }
// export default function cartDemo() {
// const [state, dispatch] = useReducer(reducer, { count: 0, error: null });
// return (
// <>
// <div>Counter: {state.count}</div>
// {state.error && <div> {state.error}</div>}
// <button onClick={() => dispatch({ type: 'increment' })}>INcrement</button>
// <button onClick={() => dispatch({ type: 'decrement' })}>DEcrement</button>
// </>
// );
// }