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
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
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)" />