바닐라 JS 로 redux 만들기

roberto·2022년 5월 9일
0
post-thumbnail

상태관리 라이브러리 들의 원리 원리 :
Store 의 상태가 변하면 변경되는 원리이다

const store = new Store({
	a: 10,
	b: 20

});

const component1 = new Component({ subscribe: [store]);
const component2 = new Component({ subscribe: [store]);


component1.subscribe(store)
component2.subscribe(store)

store.setState({
	a: 100,
	b: 200,
});

store.notify();

옵저버 패턴


1."어떤 객체의 상태" 가 변할때 그와 "연관된 객체" 들에게 알림을 보내는 디자인 패턴(중간관리자를 두어 변화의 감지와 통보를 대신하게 만드는 디자인 패턴)

2.이처럼 상태변화에 대해서 관찰자(observer)가 상태변화를 관찰(observe)하게 하고, 변화가 생길때 마다 관찰자(observer)들에게 변경사항이 있음을 알려주는 것이 옵저버 패턴이다. ex) 이벤트 드리븐 방식

방법: 옵저버들의 목록을 객체에 등록 -> 상태변화 -> 객체가 직접 옵저버에게 통지



옵저버 패턴 실습하기


생성할것:
1.중간 관리자 (상태 변화를 대신 감지하고 통보 역할)
2.옵저버 (상태 변화를 관찰하고 대응)

중간관리자가 상태 변화를 감지하면 옵저버들의 렌더링 함수를 대신 실행



옵저버 패턴 쓰는이유


뷰끼리의 의존성이 없어지기 때문에 복잡한 구성에서도 각각의 뷰가 처리해야 되는 부분만 고민하면 됩니다

참조


profile
medium 으로 이전했습니다

0개의 댓글