twenty-eight-days / TwentyEightDaysNative

Privacy-First Cycle Tracking App (React Native, iOS/Android)
MIT License
1 stars 0 forks source link

Redux einbinden #14

Closed geccy25 closed 2 years ago

geccy25 commented 2 years ago
geccy25 commented 2 years ago

Redux wurde implementiert

Probleme:

ESLint

ESLint akzeptiert useEffect nicht mit deps [], dies ist aber erforderlich beim ersten ausführen der storageRead Funktion zum Laden der Perioden Daten ins UI. Die useEffect Funktion wurde in ESLint disabled

  useEffect(() => {                               // eslint-disable-line
    storage.read().then(p => dispatch(write(p)))  // eslint-disable-line
  }, [])                                          // eslint-disable-line

Redux mit asyc function

Leider unterstütz Redux keine async reducers weshalb die storage function welche ja async ist nicht im reducer eingebunden werden kann. Die Lösung zuerst storage updaten und als callback redux depach aufrufen anhand des return values von storage

onPress={() => {
    storage.write({ date: new Date() }).then(p => dispatch(write(p)))
}}