async-reducer-context
Version:
通过react-context,useReducer替代redux,可扩展支持与redux周边middleware中间件,通过useModel(['key'])可获取state和dispatch,其中useModel已做到获取的属性值变化,组件才会重新渲染,摆脱useContext因context中无关数据导致的重复渲染问题。
25 lines (19 loc) • 425 B
text/typescript
class Subs {
observers: Function[]
constructor() {
this.observers = [];
}
add(observer: Function) {
this.observers.push(observer);
}
notify() {
this.observers.forEach((observer) => observer());
}
delete(observer: Function) {
const index = this.observers.findIndex((item) => item === observer);
if (index > -1) {
this.observers.splice(index, 1);
}
}
}
export default Subs;