react
useState 와 useReducer 샘플
하_늘_바_람
2022. 3. 22. 23:50
useState와 useReducer 초간단 샘플
import React, { useReducer, useState } from 'react';
import './style.css';
export default function App() {
const [number, setNumber] = useState(1);
const [count, countDispatch] = useReducer(countReducer, 0);
function countReducer(oldCount, action) {
if (action.type === 'UP') {
return oldCount + action.number;
} else if (action.type === 'DOWN') {
return oldCount - action.number;
} else if (action.type === 'RESET') {
return 0;
}
}
function down() {
countDispatch({ type: 'DOWN', number: number });
}
function up() {
countDispatch({ type: 'UP', number: number });
}
function reset() {
countDispatch({ type: 'RESET', number: number });
}
function changeNumber(event) {
setNumber(Number(event.target.value));
}
return (
<div>
<input type="button" value="-" onClick={down} />
<input type="button" value="0" onClick={reset} />
<input type="button" value="+" onClick={up} />
<input type="text" value={number} onChange={changeNumber} />
<span>{count}</span>
</div>
);
}