자바스크립트로 CSS코드를 작성하는 방식
styled-components - 리액트에서 CSS-in-JS 방식으로 컴포넌트를 꾸밀수 있게 해주는 패키지
yarn add styled-componentsvscode-styled-components extension 설치'styled'키워드를 사용해 백틱 안에 css 코드를 작성하고 jsx에서 html 태그처럼 사용하기
styled.spanstyled.button
props를 통해서 부모 컴포넌트로부터 값을 전달받고 조건문을 이용한 조건부 스타일링을 할 수 있다.
useState
함수형 업데이트

일반 업데이트
-> onClick했을 때 명령의 수가 많아도 하나로 모아 최종적으로 한 번만 실행
함수형 업데이트
-> 명령을 순차적으로 1번씩 실행
ex) 숫자를 1씩 더하는 명령이 3번 실행되면 위에서부터 하나씩 더해져 총 3이 된다.
useEffect
useEffect 실행의존성 배열(dependency array)
useEffect(()=>{
//실행하고 싶은 함수
}, [의존성배열])
-> 의존성배열에 넣은 값이 변경될 때만 useEffect 실행
-> [] 빈 배열이면 함수가 한 번만 실행된다.
clean up(향후에 다시 배움 + navigate())
-> component가 사라졌을 때 특정 작업을 실행
-> useEffect 안에서 return으로 실행하고 싶은 함수를 넣는다.
의존성 배열에 따라 해야 하는 일이 다를 땐 useEffect를 분리해서 쓸 수 있다.
Local state - 컴포넌트에서 useState를 이용해서 생성한 state
Global state - Redux에서 생성된 State
Redux 설정
yarn add redux react-redux configStore.js - store를 만드는 설정 코드가 있는 파일Redux 사용
modeule을 만들면 store에 연결하기(configStore.js)store를 조회할 때 useSelector 사용useSelector, state는 module의 모든 state를 조회할 수 있는 값 type이라는 key를 가져야 한다.
useDispatch라는 hook을 이용counter.js)App.js에서 actioncreator import해서 사용action.payload 모듈관련 요소 =todo.js`styled-components 이용()을 안 하는 자잘한 실수도 했다.onchangeHandler로 input의 값도 잘 받아오고 화면에 initialState도 잘 보이는데 추가하기만 누르면 오류발생Objects are not valid as a React child
① state.todoList에서 저렇게 바꾸니 오류도 안 나오고 초기값은 콘솔에 안 찍히지만 추가하기를 눌렀을 때 새로운 값이 잘 들어가고 새로운 값은 콘솔에 잘 찍힌다.



map()쓰기!!setTitle("")git hub - https://github.com/YS739/React_SpartaClass_Redux_TodoList