Ce projet, visible sur la branche Optimized, a d'abord été créé en tirant parti des dernières nouveautés apparues avec React Router v6.4:
- Loader incorporé aux routes
- ErrorElement pour les pages d'erreur
- Defer pour retourner une promesse depuis le loader
- Les composants Await permettant de résoudre cette promesse avant d'en envoyer le resultat à un composant via un render prop
- useAsyncValue retourne également la valeur issue de la promesse venant du loader et permet de l'utiliser dans le composant enfant d'un Await
- Suspense, fourni par React 18, permet d'utiliser les fonctions précédentes
Il utilise également certains patterns comme les composants composés pour les accordéons, associés à un Contexte, et fait usage du code-splitting via React.Lazy et Webpack Prefetch.
Vous trouverez sur la branche par défaut main une version de base n'utilisant pas ou peu ces optimisations, à part les composants composés et le Contexte.
In order to make the application works on your engine you must have NodeJS and npm installed.
-
Clone this repository (or download a zip file):
git clone https://github.com/MichelD-dev/Kasa
-
Go to the projet root folder
cd kasa
-
Install the dependencies:
yarn install
ornpm install
-
(Optional) Configure the application inside the
.env.local
file -
Launch the application:
yarn start
ornpm run start
Michel DELAUNAY - delaunaymichel@hotmail.fr
Project Link: https://kasa-lodgings.netlify.app/