React/기초
-
[React] immer를 사용해서 불변성 유지하기React/기초 2023. 3. 16. 08:17
immer 구조가 복잡한 객체도 매우 쉽고 짧은 코드를 사용하여 불변성을 유지하면서 업데이트해 줄 수 있다. immer 사용하지 않고 불변성 유지하기 import React,{useRef,useCallback,useState} from 'react'; const App = () => { const nextId = useRef(1); const [form,setForm] = useState({name: '',userName: ''}) const [data,setData] = useState({array:[], uselessValue:null}) const onChange = useCallback( e => { const {name,value} = e.target; setForm({ ...form, [nam..
-
[리액트 기초] 리액트 Hook - useState,useEffect,useReducer,useMemo,useCallback,useRefReact/기초 2023. 3. 13. 18:39
useState 함수형 컴포넌트 const [value, setValue] = useState(''); const [name,setName] = useState(''); return ( setValue(value+1) } {value} setName(e.target.value)) /> {name} ) useEffect 렌더링 될때마다 특정 작업 수행 useEffect(()=> { console.log() }, [] : 마운트 [name] : 특정 값 업데이트 } useReducer useState보다 더 다양한 컴포넌트 상황에 따라 다른 값으로 업데이트 function reducer(state,action) { return { ...state, [action.name] : action.value } } ..
-
[리액트 기초] 이벤트 핸들링, ref, 컴포넌트 반복, 컴포넌트 라이프 사이클 메서드, 컴포넌트 스타일링, 자동완성React/기초 2023. 3. 13. 18:10
이벤트 핸들링 const onChange = e => { const next = { ...form, [e.target.name] : e.target.value} setForm(nextForm); } ref : Dom에 이름 짓기 1. 사용 이유 - Dom을 직접 건드려야 할 때 ex 1. 특정 input에 포커스 ex 2. 스크롤 박스 조작 ex 3. canvas 요소 그림 그리기 2. 사용 방법 a. 콜백 함수 {this.input=ref}} /> b. createRef input = React.createRef(); 컴포넌트 반복 (= 반복 데이터 렌더링) 배열의 map 이용 const name = ['a', 'b', 'c', 'd', 'e'] const nameList = name.map((name..
-
[리액트 기초] 컴포넌트, 클래스형 컴포넌트, 함수형 컴포넌트, props, 구조분해, state,useStateReact/기초 2023. 3. 13. 13:30
컴포넌트 리액트로 만들어진 앱을 이루는 최소한의 단위 컴포넌트를 통해 UI를 재사용 가능한 개별적인 여러 조각으로 나누고, 각 조각을 개별적으로 살펴볼 수 있습니다. 예시 ) App.js import TodoTemplate from "./TodoTemplate"; 클래스형 컴포넌트 class Welcome extends React.Component { render() { return Hello, {this.props.name}; } } 함수형 컴포넌트 const Welcome = ({props}) => { return Hello, {props.name}; }) 클래스형 컴포넌트와 함수형 컴포넌트 차이 클래스형 컴포넌트 함수형 컴포넌트 render 함수 필요하고 JSX 반환 return문으로 실행 후 사라..
-
[리액트 기초] Vs code 설정 , 자동 저장, Fragment, App.js, 조건문, 인라인 스타일링, 특징, 주석React/기초 2023. 3. 13. 12:53
Vs code 설정 1. ESlint : 문법확인 2. Prettier : 가독성 3. 자동저장 (설정 -> autosave) 4. ReactJS CodeSnippet : 코드 스니펫 rsc + enter (또는 tab) 5. VS-Code-Styled-Componenets : 색상 6. indent-rainbow : 블록 색상으로 표시 자동 저장 File -> Auto Save Fragment = return ( hello ) App.js import React from 'react'; const App = () => { const name = "Judith-hopps" return ( {name} ); }; export default App; 조건문 1. 삼항 연산식 { 조건식 ? () : () } ..