react

Programming Language/Javascript

[JS] this를 포함한 구조 분해 할당의 문제와 해결 방법

this를 포함한 property를 구조분해할당하면this가 가리키는 객체가 다를 것이라는 것은 머릿 속으로는 알고 있었는데,정리해보려고 남겨보는 글이다.this를 포함한 구조 분해 할당의 문제와 해결 방법구조 분해 할당은 객체나 배열에서 원하는 속성 또는 값을 추출해 별도의 변수로 할당하는 방식이다.코드의 간결성과 가독성을 높이는데 자주 사용된다.예시: 단순 속성 구조 분해this를 사용하지 않는 경우, 구조 분해 할당은 아무 문제 없이 동작한다.함수형 예제const obj = { a: 1, b: 2, c: 3 };const { a, b } = obj;console.log(a, b); // 출력: 1, 2클래스 예제 (this 제외)class MyClass { constructor() { thi..

CS/Software Engineering

[Design Pattern] 디자인 패턴이 뭘까?

JS와 React에서의 디자인 패턴을 다루기 앞서, 자바스크립트 + 리액트 디자인 패턴을 읽고,디자인 패턴에 대한 개념을 정리해보려 한다. 디자인 패턴이란?디자인 패턴은 소프트웨어 개발에서 반복적으로 마주치는 문제를 효율적으로 해결하기 위한 모범적인 코드 설계 방식이다.이를 통해 개발자들은 코드의 가독성, 확장성, 유지보수성을 높일 수 있다. 특히 리액트와 같은 프레임워크에서는 상태 관리나 컴포넌트 구성에 디자인 패턴이 중요한 역할을 한다. 디자인 패턴의 필요성 및 특징가독성 향상: 코드 구조가 명확해져 다른 개발자들이 코드를 이해하고 수정하기가 쉬워진다.유지보수성 강화: 복잡한 로직을 반복적으로 해결할 수 있어, 코드 수정 시 더 적은 위험으로 변경이 가능하다.확장성 증가: 구조화된 코드를 기반으로 새..

Programming Language/React

[React] 리액트의 전역상태관리 도구, 어떤 것을 선택할까

리액트의 전역상태관리 도구들에 대해 claude에게 대화를 나눠서 얻은 글이다.리액트의 전역상태관리 도구, 어떤 것을 선택할까?들어가며React 애플리케이션 개발시 전역 상태 관리의 필요성을 마주치게 된다.React의 기본 제공되는 Context API부터 다양한 서드파티 라이브러리까지, 각각의 도구들은 저마다의 특징과 장단점을 가지고 있다.React의 기본 제공 도구: Context APIContext API의 특징React의 기본 제공되는 Context API는 간단한 전역 상태 관리에 적합하다.// Context 생성const ThemeContext = React.createContext(null);// Provider 구현const ThemeProvider = ({ children }) => { ..

Programming Language/React

[React] 조건부 스타일 vs 조건부 클래스

조건부 스타일 vs 조건부 클래스웹 개발에서 스타일링을 적용하는 방법은 다양한데, 그 중에서도 조건부 스타일과 조건부 클래스는 자주 사용되는 두 가지 접근 방식이다. 이 글에서는 두 방법의 특징과 비교를 해보려 한다.조건부 스타일조건부 스타일은 특정 조건에 따라 인라인 스타일을 적용하는 방식으로,주로 React와 같은 프레임워크에서 사용되며, 동적으로 스타일을 변경할 수 있는 장점이 있다.예시 코드const MyComponent = ({ isActive }) => { return ( {isActive ? '활성 상태' : '비활성 상태'} );}; 위 코드에서 isActive가 true일 때 텍스트 색상이 파란색으로 변경되며, 인라인 스타일을 사용하여 조건에 따라 동적으로 스타..