I have a screen that makes a call to an api to fetch some data which is then displayed
An issue that I am seeing is that when I navigate away from the screen (I am using react-navigation 6.x) and then go back to it useEffect() is not being called
From what I have read so far, this is down to the value of userId not changing (I think i need to do some more reading around the useEffect() hook to understand better, maybe someone will help clear things up with this question)
import React, {useState, useEffect, useContext} from 'react';
import AppContext from '../../components/AppContext.js';
export const CreateNewEvent = () => {
  const globalContext = useContext(AppContext);
  const userId = globalContext.userInfo.id;
  useEffect(() => {
    const body = JSON.stringify({userId});
    fetch(eventTypesUrl, {
      method: 'POST',
      headers: {'Content-Type': 'application/json', Accept: 'application/json'},
      body: body,
    })
      .then(response => response.json())
      .then(json => setEventTypeData(json))
      .catch(error => console.error(error))
      .finally(() => setLoading(false));
    }, [userId]);
}
So in my scenario I am on Screen 1 (Here i can create an event which makes a request to get all event types and loads them into a select menu)
When I navigate to Screen 2 (to create an event type) and then back to Screen 1, the useEffect() hook is not called resulting in being unable to see the event type I have just created (hope that makes sense)..  also notice that any data entered in Screen 1 previously still remains
I have come across this post which appears to be what I am dealing with, just a little unsure how to implement with my setup
How can I ensure that Screen 2 makes the api call when i go back and that all previous form data is cleared out?
Thanks
 
     
     
    