๐Ÿ“šย Reference


๐Ÿ“œย Chapter


โ€ฃ

Closure

listener


button.addEventListener('click', function() {
  console.log('ํด๋ฆญ๋จ!');
});

์˜ˆ์‹œ


const store = createStore({ count: 0 });

// ์ด ํ•จ์ˆ˜ ์ž์ฒด๊ฐ€ "listener"์ด๋‹ค
const myListener = (state) => {
  console.log('์ƒํƒœ ๋ณ€๊ฒฝ:', state);
};

// subscribe = "์ด listener๋ฅผ ๋“ฑ๋กํ•ด์ค˜, ์ƒํƒœ ๋ฐ”๋€” ๋•Œ๋งˆ๋‹ค ์‹คํ–‰๋˜๊ฒŒ"
const unsubscribe = store.subscribe(myListener);

store.setState({ count: 1 }); 
// โ†’ ๋‚ด๋ถ€์—์„œ listeners.forEach(listener => listener(state)) ์‹คํ–‰๋จ
// โ†’ myListener(state)๊ฐ€ ํ˜ธ์ถœ๋จ
// โ†’ "์ƒํƒœ ๋ณ€๊ฒฝ: { count: 1 }" ์ถœ๋ ฅ