목록분류 전체보기 (96)
wintertreey 님의 블로그
텍스트에 값 입력하여 투두리스트를 띄워보자. 간단한 설명은 코드 옆에 주석으로 달아두었다. import React, {useState} from "react";function TodoList({items}){ //할일목록 출력용 return( {items.map((item) => ( // items 배열을 순회하며 각 항목을 리스트 요소로 렌더링 {item.text} ))} );}function App() { const [items, setItems] = useState([]);// 할 일 목록을 관리하는 상태 const [text, setText] = useState('');// 입력 필드의 현재 값을 관리하는 상태 const handl..
React.memo() React는 먼저 컴퍼넌트를 렌더링(rendering) 한 뒤, 이전 렌더된 결과와 비교하여 DOM 업데이트를 결정한다. 만약 렌더 결과가 이전과 다르다면, React는 DOM을 업데이트한다. 컴퍼넌트가 React.memo()로 래핑 될 때, React는 컴퍼넌트를 렌더링하고 결과를 메모이징(Memoizing)한다. 그리고 다음 렌더링이 일어날 때 props가 같다면, React는 메모이징(Memoizing)된 내용을 재사용한다. 메모이징 한 결과를 재사용 함으로써, React에서 리렌더링을 할 때 가상 DOM에서 달라진 부분을 확인하지 않아 성능상의 이점을 누릴 수 있다. 언제 React.memo()를 써야할까같은 props로 렌더링이 자주 일어나는 컴퍼넌트.React.memo(..
Props컴포넌트에서 사용하는 데이터는 props와 state가 있다. props 부모 컴포넌트가 자식 컴포넌트에 주는 값. 넘겨줄 수 있는 값은 변수, 배열, 객체, 함수 등 자바스크립트 요소 모두 가능하다. 단, props는 읽기전용으로 값이 변경되어서는 안 된다. props의 값을 변경하고 싶다면, props를 직접적으로 변경하는 것이 아닌 새로운 변수를 선언하여 사용한다. 또한, 데이터는 부모요소에서 자식요소로만 전달이 가능하다. stateState는 컴포넌트의 내부에 현재 저장된 값이며, 변할 수 있는 값이다. 리액트는 값이 변경된 부분을 인지하고 그 부분만 재렌더링한다. 정리Props는 컴포넌트에 전달하는 값으로, 직접 수정 불가능하다State는 컴포넌트 내부에서 선언되어 관리되는 값으로..
초반 세팅 # 2. 로컬 저장소 초기화 git init # 3. 변경 사항 스테이징 git add . # 4. 커밋 생성 git commit -m "Initial commit" # 5. 원격 저장소 추가 git remote add origin https://github.com/username/repository.git # 6. 브랜치 설정 (optional, 만약 main 브랜치를 기본 브랜치로 사용한다면) git branch -M main # 7. 변경 사항 푸시 git push -u origin main 추가 업로드시 $ git add . $ git commit -m "---" $ git push origin main https://blog.naver.com/comma_dev/223530523026 ..
css 넣는법 3import React, {useState, useEffect} from 'react';import '../App.css'export default function HookTest2(){ //key: 'value' 형식의 json데이터 let st = {color: 'skyblue', textAlign: 'center'} return( {/* 이 부분이 css가 적용된것 */} 리액트의 이해 ECMA에 대한 선행학습필요 CSS 적용방식에 대한 이해 );} 전체적으로 태그에 className을 주어 css효과를 준다..App { padding-left:..
아직 익숙하지 않은 관계로 cmd창의 명령문까지도 기입하고자한다. 프로젝트 새로 생성 폴더닫기 폴더열기 자 그럼 실습을 해보자! 클래스 컴포넌트 import React, { Component } from "react";class App extends Component { state = { count:0 }; countUpdate(n){ this.setState({count:n}); } render(){ const {count} = this.state; // const나 let으로 변수 설정 return( class 컴포넌트 사용 number : {count} { this.countUpdate(coun..
jsx란? JSX(Javascript Syntax eXtension)는 Javascript를 확장한 문법이다. JSX는 리액트로 프로젝트를 개발할 때 사용되므로 공식적인 자바스크립트 문법은 아니다. 브라우저에서 실행하기 전에 바벨을 사용하여 일반 자바스크립트 형태의 코드로 변환된다. jsx 문법 - 반드시 부모 요소 하나가 감싸는 형태여야 한다. function App() { return ( Hello Hi );}이것처럼 각각의 형태로 적으면 에러가 난다. function App() { return ( Hello Hi );} 모든걸 한데 모아서 처럼 빈 태그로라도 감싸주어야한다. - 자바스크립트 표현식JSX 안에서도 자바스크립트 표현식을 사용할 수 있다. 자바스크립트 표현식을 작성..
리액트 React란?사용자 인터페이스(UI) 개발에 초점을 맞춘 프론트엔드 라이브러리.복잡하고 동적인 웹 페이지 개발 시 사용이 용이하여, 실시간 대시보드, 소셜 미디어 애플리케이션, 전자상거래 플랫폼 개발에 많이 사용되는 프론트엔드 개발도구. ‘프론트엔드 개발자가 많이 사용하는 도구 2위’에 기록될 만큼 프론트엔드 개발자들이 선호하는 개발도구로, 활발한 커뮤니티의 존재, 다양한 라이브러리나 프레임워크와 호환이 가능, 컴포넌트 기반의 아키텍처 제공 등의 장점을 가져 UI 개발을 쉽게 도와주는 프론트엔드의 대표적인 라이브러리로 뽑히고 있습니다. 리액트 등장 배경웹 개발이 복잡해짐에 따라 html, css, js만으로는 한계가 생겼으며, 초기에는 Web 개발을 위한 프론트엔드 라이브러리로 DOM조작을 쉽게해..