기록용글.. 항상 어떤 기술을 사용할 때 최소한의 조건만을 사용해서 구현하는 것을 먼서 해본다(CRUD). 이는 store.js 하나만을 추가해서 만들었다.
import React from "react";
import ReactDOM from "react-dom";
import "./index.css";
import App from "./App";
import { Provider } from "react-redux";
import store from "./store";
ReactDOM.render(
<React.StrictMode>
<Provider store={store}>
<App />
</Provider>
</React.StrictMode>,
document.getElementById("root")
);
import { createStore } from "redux";
const initialState = {
count: 0,
};
export const increment = {
type: "INCREMENT",
};
export const decrement = {
type: "DECREMENT",
};
const reducers = (state = initialState, action) => {
switch (action.type) {
case "INCREMENT":
return {
...state,
count: state.count + 1,
};
case "DECREMENT":
return {
...state,
count: state.count - 1,
};
default:
return state;
}
};
const store = createStore(reducers);
export default store;
import React from "react";
import "./App.css";
import { useSelector, useDispatch } from "react-redux";
import store, { increment, decrement } from "./store";
function App(props) {
const state = useSelector((state) => state);
return (
<div className="App">
<h1>Kong</h1>
<h1>{state.count}</h1>
<button
onClick={() => {
store.dispatch(increment);
}}
>
up
</button>
<button
onClick={() => {
store.dispatch(decrement);
}}
>
down
</button>
</div>
);
}
export default App;