일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- MariaDB
- bfs
- npm
- Java
- 디자인 패턴
- 클라우드
- 서브셋폰트
- Solid
- CSS
- azure
- dfs
- 상속
- Secret
- dotenv
- github
- process.env
- DP
- PostgreSQL
- 메모이제이션
- 추상화
- package
- mock
- GOF
- 동적계획법
- git
- netlify
- 객체지향
- AOP
- 캡슐화
- 다형성
Archives
- Today
- Total
이것저것 해보기🌼
Redux로 간단한 덧셈, 뺄셈 기능 만들기 본문
1. 설치
creat-react-app 으로 시작하기
npm create-react-app my-redux-project typescript
npm install redux --save
2. 간단한 덧셈, 뺄셈 기능 만들기
- index.tsx
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
import { createStore } from 'redux';
import counter from './reducers';
const root = ReactDOM.createRoot(
document.getElementById('root') as HTMLElement
);
const store = createStore(counter);
const render = () => root.render(
<React.StrictMode>
<App
value={store.getState()}
onIncrement={() => store.dispatch({type: "INCREMENT"})}
onDecrement={()=> store.dispatch({type: "DECREMENT"})}
/>
</React.StrictMode>
);
render();
store.subscribe(render);
// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals();
createStore로 store 생성 및 subscribe
props로 내려주기
- App.tsx
import './App.css';
type Props = {
value: number;
onIncrement: () => void;
onDecrement: () => void;
}
function App({ value, onDecrement, onIncrement}: Props) {
return (
<div className="App">
Clicked: {value} times
<button onClick={onIncrement}>+</button>
<button onClick={onDecrement}>-</button>
</div>
);
}
export default App;
props 받아오기
- reducers/counter.tsx
const counter = (state = 0, action: {type: string }) => {
switch (action.type){
case "INCREMENT":
return state + 1;
case "DECREMENT":
return state - 1;
default:
return state;
}
}
export default counter;
reducer 작성 (여기에선 간단한 덧셈 뺄셈)
'FE > React' 카테고리의 다른 글
Vite React 프로젝트 환경변수 설정방법 (.env) (1) | 2024.09.19 |
---|---|
React를 사용하는 이유 (0) | 2024.05.07 |