기록

To Do List - react로 다시 만들기 본문

React.js/etc

To Do List - react로 다시 만들기

mnmhbbb 2021. 3. 4. 03:18

드디어 투두리스트 리액트 버전을 만든다.
가능하면 혼자 힘으로 해결해보고,, 
완성하면 리드미를 열심히 써보자

설치 목록
npx create-react-app to-do-list-react
npm i styled-components
npm i react-icons
npm i react-live-clock
npm i react-moment
npm i moment-timezone

아 그래도 순조롭게 진행되고 있었는데,,

const TodoProvider = ({ children }) => {
  const [state, dispatch] = useReducer(todoReducer, initialTodo);

이 부분.. useReducer에 리듀서, 초기값 순서로 넣어야하는데, 반대로 넣었더니 안되었다. 리덕스랑 헷갈린 것 같다.

 

+) 새롭게 알게 된 것
import 할 때 { } 붙은 것과 안 붙은 것의 차이는
export 할 때 어떻게 했느냐의 차이
1)
export function add() { //code }   ---- > import { add }

2)
function add() { //code };
export default add;    -----> import add 

 

+)

화살표 함수 실수 했던 부분,,

case "TOGGLE":
      return state.map((todo) =>
        todo.id === action.id ? { ...todo, checked: !todo.checked } : todo
      );

state.map( (todo) => todo.id 어쩌고 )
이래야 하는데,
state.map( (todo) => { todo.id 어쩌고 } )
이렇게 했더니 자꾸 막혔다,, 
{ } 괄호를 사용하면 return도 입력해야 한다.
그러나 간단한 코드일 경우 { } 생략 가능.

 

+) 

TodoInput.js 할 때
form 에 onSubmit 넣고 e.preventDefault()를 해도 새로고침이 막히질 않았다,,,
버튼태그 안에 버튼모양아이콘을 넣어서
내가 클릭한 게 버튼으로 인식이 안돼서 그런걸까?
그래서 일단 버튼태그에다가 onClick으로 위 함수를 그대로 넣었더니 정상적으로 동작했다.

'React.js > etc' 카테고리의 다른 글

504 Gateway timeout HTTP 504  (0) 2021.03.13
useEffect는 언제?  (0) 2021.03.05
React로 사고하기  (0) 2021.03.03
리액트에서 사용하는 children  (0) 2021.03.02
영어단어장 연습  (0) 2021.02.25
Comments