Intéraction

Votre projet front est composé d'un serveur qui renvoi du code HTML a votre navigateur quand vous chargez une page.

Par défaut les composants sont affichés de manière statique. Cela veux dire que quand vous intéragissez avec votre page vous ne la modifiez que de votre coté. Le serveur lui ne reçoit pas vos intéraction.

Voici a quoi ca ressemble Rendermode

Votre navigateur demande une page au serveur Si le serveur connait cette page il lui renvoi son code HTML Le client modifie le champ texte sur son navigateur Rien ne se passe coté serveur Le client clic sur le bouton sur son navigateur Rien ne se passe coté serveur

Si on active le rendu intéractif on a ce schéma

Rendermode

Si le serveur connait cette page il lui renvoi son code HTML Le client modifie le champ texte sur son navigateur Le serveur reçoit le texte modifié Le client clic sur le bouton sur son navigateur Le serveur reçoit l'évenement du clic

Sans le mode de rendu intéractif on en peux pas appeler de code après le chargement de la page. Un formulaire par exemple a besoin de cette intéractivité pour pouvoir mettre a jour le texte et envoyer le clic au serveur pour que celui-ci déclenche les actions voulu.

Comment on active le mode de rendu intéractif ?

Pour l'activer il y a plusieurs manière:

Par composant

On peux ajouter la ligne suivante en haut d'une page ou d'un composant

@rendermode InteractiveServer

Cela rend votre page ou votre composant intéractif

Pour toute l'application

Dans le fichier App.razor passez un paramètre au composant route comme suit :

<Routes @rendermode="InteractiveServer" />

Cela aura pour effet de rendre toute les pages chargé par votre routeur intéractive.

Désactiver le prérendu

Si vous avez besoin d'utiliser certaines fonctionnalité comme l'accès au local storage, le rendu dynamique peut poser problème.

Dans ce cas vous pouvez désactiver le prérendu en ajoutant le paramètre @prerender a false dans le fichier App.razor

<Routes @rendermode="new InteractiveServerRenderMode(prerender: false)" />