Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

237
Views
Unsubscribe is not an assignable parameter

I am using typescript with react and I am trying to unsubsribe an observer from firestore it works when I use it in js but not when I use in typescript how do I do this correctly. Here is my code

const notifications = collection(db, USER_ID_STRING, 'dfgdfg', NOTIFICATIONS_STRING);
    const loadAlerts =useCallback( () => {
        const alertNotifcationsObserver = onSnapshot(notifications, (querySnapshot) => {
            const alertData: any[] = []
            querySnapshot.forEach((doc) => {
                alertData.push({
                    ...doc.data(),
                    
                })
            });
            setAlertNotifcations(alertData)
        });
        return alertNotifcationsObserver
    },[notifications])


    useEffect(() => {
        loadAlerts();
    
        return ()=>loadAlerts()
    }, [loadAlerts]);


here is my error

Argument of type '() => () => Unsubscribe' is not assignable to parameter of type 'EffectCallback'.
  Type '() => Unsubscribe' is not assignable to type 'void | Destructor'.
    Type '() => Unsubscribe' is not assignable to type 'Destructor'.
      Type 'Unsubscribe' is not assignable to type 'void | { [UNDEFINED_VOID_ONLY]: never; }'.
        Property '[UNDEFINED_VOID_ONLY]' is missing in type 'Unsubscribe' but required in type '{ [UNDEFINED_VOID_ONLY]: never; }'.ts(2345)
index.d.ts(58, 34): '[UNDEFINED_VOID_ONLY]' is declared here.
board.tsx(69, 15): Did you mean to call this expression?
about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!