logologo
Démarrer
Manuel
Développement
Plugins
API
Accueil
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
Démarrer
Manuel
Développement
Plugins
API
Accueil
logologo
Présentation de RunJS
Importation de modules
Rendu dans le conteneur

Variables globales

window
document
navigator

ctx

ctx.blockModel
ctx.collection
ctx.collectionField
ctx.dataSource
ctx.dataSourceManager
ctx.element
ctx.exit()
ctx.exitAll()
ctx.filterManager
ctx.form
ctx.getModel()
ctx.getValue()
ctx.getVar()
ctx.i18n
ctx.importAsync()
ctx.initResource()
ctx.libs
ctx.location
ctx.logger
ctx.makeResource()
ctx.message
ctx.modal
ctx.model
ctx.notification
ctx.off()
ctx.on()
ctx.openView()
ctx.render()
ctx.request()
ctx.requireAsync()
ctx.resource
ctx.route
ctx.router
ctx.setValue()
ctx.sql
ctx.t()
ctx.view
Previous Pagectx.notification
Next Pagectx.on()
Avis de traduction IA

Ce document a été traduit par IA. Pour des informations précises, veuillez consulter la version anglaise.

#ctx.off()

Supprime les écouteurs d'événements enregistrés via ctx.on(eventName, handler). Cette méthode est souvent utilisée en conjonction avec ctx.on pour se désabonner au moment opportun, évitant ainsi les fuites de mémoire ou les déclenchements multiples.

#Cas d'utilisation

ScénarioDescription
Nettoyage de useEffect dans ReactAppelé dans la fonction de nettoyage de useEffect pour supprimer les écouteurs lors du démontage du composant.
JSField / JSEditableFieldSe désabonner de js-field:value-change lors de la liaison de données bidirectionnelle pour les champs.
Lié aux ressourcesSe désabonner des écouteurs tels que refresh ou saved enregistrés via ctx.resource.on.

#Définition du type

off(eventName: string, handler: (event?: any) => void): void;

#Exemples

#Utilisation jumelée dans useEffect de React

React.useEffect(() => {
  const handler = (ev) => setValue(ev?.detail ?? '');
  ctx.on('js-field:value-change', handler);
  return () => ctx.off('js-field:value-change', handler);
}, []);

#Désabonnement des événements de ressource

const handler = () => { /* ... */ };
ctx.resource?.on('refresh', handler);
// Au moment opportun
ctx.resource?.off('refresh', handler);

#Remarques

  1. Référence du gestionnaire cohérente : Le handler passé à ctx.off doit être la même référence que celle utilisée dans ctx.on ; sinon, il ne pourra pas être supprimé correctement.
  2. Nettoyage en temps voulu : Appelez ctx.off avant le démontage du composant ou la destruction du contexte pour éviter les fuites de mémoire.

#Documents connexes

  • ctx.on - S'abonner aux événements
  • ctx.resource - Instance de ressource et ses méthodes on/off