سلام استاد
یک متغییر listener تعریف کردید و این متغییر رو به عنوان ورودی به تابع subscribe پاس دادید و داخل این تابع listener داخل listener پوش کردید ؛ شاید اشتباه میکنم ولی اینطور متوجه شدم.
انگار لوپ اتفاق افتاده ، یه تابع خالی داخل یه تابع خالی پوش شده این چطور داره به تغییر state گوش میده؟
const subscribe = (listener) => {
listeners.push(listener)
return () => {
listeners = listeners.filter(l => l !== listener)
}
}