자바스크립트로 CSS코드를 작성하는 방식
styled-components - 리액트에서 CSS-in-JS 방식으로 컴포넌트를 꾸밀수 있게 해주는 패키지
yarn add styled-components
vscode-styled-components
extension 설치'styled'키워드를 사용해 백틱 안에 css 코드를 작성하고 jsx에서 html 태그처럼 사용하기
styled.span
styled.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