Traté de hacer algo como esto usando React Navigation donde
useFocusEffect(useCallback(() => { return () => saveFormAsync(formData) }, [])); saveFormAsync es un método async que devuelve Promise<void> .
Parece funcionar, pero no estoy seguro de si estoy manejando todos los casos.
Observé React 16 ya que React 17 llama a las funciones de limpieza de forma asíncrona