Skip to content

React-Core-Learn/State-Management

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vanilla Javascript로 상태관리 시스템 만들기

황준일님의 Vanilla Javascript로 상태관리 시스템 만들기 아티클을 참고하여, Observer Pattern 또는 Pub-Sub Pattern 이해하고 이를 DOM에 어떻게 녹여내는지에 대해 학습하자.

  • 구현하면서 느낀 점들을 작성하며 회고하자.
  • 바닐라 자바스크립트 상태 관리와 React, Vue 같은 프레임워크의 상태 관리 방식 비교해보자.
  • 모르는 것들이나 새롭게 알게 된 것들이 있다면 적극적으로 공유하며 서로의 학습을 확장해 보자.

황준일님 상태관리 시스템 만들기 링크

🚀 학습 목표

  1. 상태관리에 대해 한번 더 복습하자.
  2. Observer Pattern 또는 Pub-Sub Pattern을 이해하고 어떻게 적용하는지 고민해보자.
  3. Flux Pattern을 왜 사용하는지, 무엇이 좋은지 알아보자.
  4. Redux를 참고하면 이 라이브러리는 어떤 식으로 상태관리 했는지 알아보자.
  5. 기한을 정해 빠르게 학습하고, 이해하는 것도 중요한 분석 능력이다. 제한된 시간 안에서 핵심을 파악하자

📝 Pull Request 주의할 점.

  • 학습과 고민의 흔적 기록
    • 본인이 배우고 고민했던 점들을 최대한 꼼꼼하게 작성해주세요.
    • 작성된 내용은 리뷰어가 의도를 이해하고 더 나은 피드백을 제공하는 데 큰 도움이 됩니다.
  • 코드리뷰는 존중과 솔직함을 기반으로
    • 서로 상처받지 않도록 배려하며 리뷰를 작성해주세요.
    • 하지만, 서로의 발전을 위해 솔직한 피드백을 주고받는 문화를 지향합시다.
  • PR 방식
    • [본인 이름] State Management (본인 이름 브랜치에 PR 올려주세요)
    • 위와 같은 방식으로 PR 올려주세요.

🤖 GPT의 아티클 요약

1. 상태 관리의 필요성

  • 복잡한 애플리케이션에서는 상태를 효율적으로 관리하는 것이 중요합니다.
  • Observer 패턴과 JavaScript의 기본 기능을 활용해 상태 변화를 감지하고 UI를 업데이트합니다.

2. Observer 패턴을 활용한 상태 관리

구성 요소

  1. State
    • 모든 애플리케이션 상태를 중앙 집중식으로 관리.
    • 상태의 get/set을 정의해 변경 사항을 추적.
  2. Observers
    • 상태를 구독하는 함수들.
    • 상태 변경 시 실행되어 UI 업데이트를 처리.

3. 컴포넌트와 DOM 연동

  • 상태를 기반으로 DOM을 업데이트하는 컴포넌트를 정의.
  • 컴포넌트는 상태를 구독(Observer)하고, 상태 변경 시 다시 렌더링됨.

4. Flux 패턴과 상태 변경 관리

  • Flux 패턴:
    • 상태는 **액션(dispatch)**을 통해서만 변경됨.
    • 상태의 변경 과정을 예측 가능하고 디버깅하기 쉽게 만듦.

Reducer와 Dispatch

  • 상태 변경 로직을 Reducer 함수로 분리.
  • Dispatch 함수로 액션을 받아 상태를 업데이트하고 알림.

5. Proxy를 활용한 최적화

  • Proxy 객체를 사용하여 상태 감지를 간단하고 효율적으로 최적화.
  • Proxy는 기존 방식보다 더 유연하고 강력함.

6. 결론

  • JavaScript의 기본 기능으로 상태 관리 시스템을 구현하는 방법을 학습했습니다.
  • 라이브러리를 사용하지 않고 상태 관리의 원리를 이해할 수 있는 기회를 제공합니다.
  • 최종 코드는 GitHub 저장소에서 확인할 수 있습니다.

활용 방법

  • 상태 관리의 기본 개념과 구현 방법을 이해하고자 하는 초급-중급 JavaScript 개발자에게 적합.
  • Vuex나 Redux 같은 상태 관리 라이브러리의 내부 작동 방식을 학습하기 위한 입문 자료.

About

Vanilla Javascript로 상태관리 시스템 만들기

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published