- Today
- Total
목록프론트엔드 (62)
빵 입니다.
📌 리액트 함수 리액트 컴포넌트를 생성하기 위해 사용되는 함수 이 함수는 JSX(JavaScript XML)를 반환하여 리액트 애플리케이션의 UI를 정의하고 렌더링하는 역할 리액트 함수는 주로 두 가지 형태 => 함수 컴포넌트, 클래스 컴포넌트 📌 리액트 컴포넌트 리액트 컴포넌트는 JSX를 반환한다. JSX는 React.createElement 호출로 변환되며, 이것이 리액트 컴포넌트의 템플릿이다. 함수 컴포넌트나 클래스 컴포넌트 내에서 JSX를 반환하면 해당 함수나 클래스는 리액트 컴포넌트로 간주된다. 📌 리액트 훅의 규칙 리액트 훅은 최상위 수준에서 호출되어야 한다. 함수 컴포넌트나 클래스 컴포넌트의 최상위 수준에서만 호출되어야 한다. 중첩 함수(useEffect 등), 블록 스코프(조건문, 루프 등..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/2cKfd/btsBXIQezop/3fokKQWVGFk24kIW6TDFBK/img.png)
리액트는 props를 관리하는데, props는 컴포넌트에 전달하는 데이터로 컴포넌트 구성을 하게 해주고 부모-자식 컴포넌트 간의 통신을 연결해 주는 역할을 해준다. 문제는 여러 개의 컴포넌트를 거쳐 데이터를 전달할 때 일어난다. state를 여러 컴포넌트를 통해 props로 전달하는 경우 App ➡️ Header ➡️ Navigation App에서 Login 정보를 Header에 props로 내려준다. Header에서 직접 사용하지 않고, Header 안에 있는 Navigation에 Login 정보를 props로 내려준다. Navigation에서 직접 사용한다. => Header는 그냥 데이터를 전달만 할 뿐 이렇게 단순하게 props를 내려줄 수 있다. 그러나 DOM 트리가 복잡할 경우 LoginFor..
페이스북에서 개발한 자바스크립트 라이브러리로, 사용자 인터페이스를 구축하기 위한 선언적이고 효율적인 방법을 제공한다. 리액트는 컴포넌트 기반 아키텍처를 기반으로 하며, UI를 독립적인 작은 조각으로 분할하여 관리한다. 이러한 컴포넌트는 재사용 가능하며 각각의 독립성을 가지며 상태(State) 및 속성(Properties)을 통해 데이터를 관리한다. 컴포넌트(Component) 리액트 애플리케이션은 작은 조각으로 나누어진 컴포넌트로 이루어진다. 컴포넌트는 UI의 일부를 나타내며 독립적으로 작동하도록 설계되어 재사용성을 높인다. 가상 돔(Virtual DOM) 리액트는 가상 돔을 사용하여 실제 돔과 상호작용한다. 가상 돔은 메모리에 존재하는 가벼운 복사본으로서, 변경 사항을 더 효율적으로 감지하고 실제 돔에..
📌 useState() state 관리 도구 단순 상태 업데이트, 복합적이지 않은 상태, 연결되지 않는 상태 간단한 컴포넌트나 단일 상태 변수를 다루기에 적합하다. 개별적인 상태를 다루기에 적합하고, 각 상태 변수는 독립적으로 동작한다. 단순한 상태 업데이트와 컴포넌트 간 연결이 적은 경우에 유용하다. 📌 useReducer() state 가공 최신 state 스냅샷, 복잡한 로직 주로 복잡한 상태 로직이나 여러 상태 간의 관계가 있는 경우에 유용하다. 복잡한 상태 업데이트 로직을 포함하거나 여러 상태를 동시에 업데이트할 때 적합하다. 연관된 상태 조각들로 구성된 상태 관련 데이터를 다루는 경우 사용한다. ex) 폼 인풋 state state 하나를 변경하는 여러 액션이 있는 경우(데이터 상태에 따라 분..
🔥함수형 컴포넌트 기반으로 정리를 했습니다! 상태 관리를 수행하기 위해 사용되는 Hook useState와 비슷하지만 좀 더 복잡한 상태 로직을 다룰 때 유용하다. 주로 여러 상태 값이 서로 연관되어 있는 경우나, 상태 전이 로직이 복잡한 경우에 활용된다. // 기본형 const [state, dispatch] = useReducer(reducer, initialState); reducer 함수는 현재 상태와 액션(상태를 업데이트하는 데 사용되는 정보를 가진 객체)을 받아서 새로운 상태를 반환한다. dispatch 함수에 상태 변경을 위한 액션을 전달하면 자동으로 reducer에 액션을 전달하고 실행한다. // 사용 예제 => 카운터 함수 import React, { useReducer } from 'r..
🔥함수형 컴포넌트 기반으로 정리를 했습니다! Side effects를 수행하기 위해 사용되는 Hook Side effects는 주로 데이터 가져오기, 구독 설정, 수동으로 DOM 조작 등과 같은 작업을 말한다. useEffect는 컴포넌트 렌더링 후에 실행되는데, 이는 렌더링 결과가 화면에 이미 반영된 후에 Side effects를 수행할 수 있게 해준다. useEffect는 컴포넌트가 렌더링될 때마다 실행되며, 컴포넌트 생명 주기 관련된 여러 시점에서 Side effects 를 실행할 수 있다. useEffect(() => { // Side effects를 수행하는 코드 // 데이터 가져오기, 구독 설정, 수동으로 DOM 조작 등 // clean-up 함수 (선택적) return () => { // c..
🔥함수형 컴포넌트 기반으로 정리를 했습니다! ref는 다른 DOM 요소에 접근하고 조작할 수 있게 해준다. 리액트 16.3 버전 이상에서는 함수 컴포넌트에서 useRef 훅을 사용하여 ref를 생성할 수 있다. 리액트가 JSX 코드를 렌더링 할 때, ref 객체에는 실제 DOM 요소나 컴포넌트의 인스턴스가 저장된다. 저장된 값은 항상 객체이고, current 속성을 가지고 있다. current 속성은 ref가 연결된 실제 값을 갖는다. 어떤 HTML 요소에도 추가할 수 있는데, 입력 필드 내용을 가져오기 위해 주로 input에 많이 사용한다. import React, { useRef, useEffect } from 'react'; const MyComponent = () => { const myInput..
DOM 트리의 특정 위치에 컴포넌트를 렌더링하기 위한 API React 애플리케이션에서 모든 컴포넌트는 동일한 부모 컴포넌트 내에서 렌더링되는데, 특정 UI 요소를 다른 DOM 요소의 위치로 렌더링해야 하는 경우엔 ReactDOM.createPortal을 사용한다. (특히 모달, 툴팁, 드롭다운 메뉴 등의 UI 요소를 더 상위 수준의 DOM 노드에 렌더링하려는 경우에 효과적이다.) Portal은 React 컴포넌트 트리를 따라가는 것이 아니라 다른 DOM 위치로 React 컴포넌트를 렌더링하는 데 사용되기 때문에 react-dom에서 제공하는 createPortal을 이용해 만든다. createPortal 함수는 첫 번째 매개변수로 렌더링할 React 요소와 두 번째 매개변수로 해당 요소를 삽입할 DOM..
📌 인라인 스타일 /* 일반 속성 */ /* 하이픈(-)으로 연결된 속성 */ /* 조건에 따른 스타일 적용 */ const [isValid, setIsValid] = useState(false); 📌 클래스 const [isValid, setIsValid] = useState(false); 📌 CSS 모듈 방식 사용 CSS를 사용할 때 로컬 스코프에 해당하는 독립적인 모듈로 만들어 사용하는 방식 스타일을 컴포넌트와 분리하여 관리할 때 주로 사용한다. 각 컴포넌트에 대해 별도의 CSS 모듈 파일을 만들고, 해당 모듈 파일 내에서 정의된 클래스 이름은 해당 컴포넌트에만 적용된다. 각 컴포넌트는 독립적인 스타일을 가지며, 클래스 이름 충돌을 방지하면서도 컴포넌트 스코프 내에서 스타일을 안전하게 유지할 수 있..
📌 react react는 라이브러리다. react 컴포넌트를 정의하고 관리하는 데 사용된다. react는 react 컴포넌트 클래스 및 함수, JSX 지원, 가상 DOM (Virtual DOM), 라이프사이클 메서드, 상태 관리 등의 기능들을 제공한다. import React from 'react'; class MyComponent extends React.Component { // 컴포넌트 로직 및 렌더링 메서드 } 📌 react-dom 웹 애플리케이션 또는 웹 앱을 개발할 때 사용되는 React의 확장 react-dom은 react로 만들어진 로직들과 기능들을 실제 브라우저에 렌더링해준다. (즉, react는 가상 DOM을 사용하여 메모리에 렌더링된 컴포넌트 트리를 관리하고, 이를 실제 DOM에 반..