gpt4 book ai didi

javascript - listener() 在 Redux store 中做了什么?

转载 作者:行者123 更新时间:2023-11-30 12:03:00 25 4
gpt4 key购买 nike

我正在 Egghead 上观看 Dan Abramov 的 Redux 视频。在他从头开始实现 Redux Store 的视频中,他包含了这段代码(大约 1:28 - https://egghead.io/lessons/javascript-redux-implementing-store-from-scratch ):

const dispatch = (action) => {
state = reducer(state, action);
listeners.forEach(listener => listener());
};

因此这段代码遍历了监听器数组中的每一项,我知道每个监听器都需要更新,但我不明白 listener() 在做什么。这个函数从哪里来?

最佳答案

createStore 方法有 listeners 变量。它是一个函数数组,应该在商店更新时调用。你可以通过storesubscribe方法将自己的函数添加到listeners中。

例如:

const store = createStore(reducer);
store.subscribe(state => console.log(state)); // add function into listeners
store.dispatch(action);

console.log 的函数将在状态改变后被调用。

关于javascript - listener() 在 Redux store 中做了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36163442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com