Files
owl/doc
Samuel Degueldre 77ff5ee895 [IMP] component: emit warning when async hooks take too long
This commit adds a warning when an async hook
(onWillUpdateProps/onWillStart) takes longer than 3 seconds, as these
hooks block the rendering and patching of the application, it is rarely
desirable and often a sign of a deadlock. This warning will contain the
stack trace of the call to the hook to help in debugging.
2022-03-14 09:51:47 +01:00
..

🦉 Owl overview 🦉

Here is a list of everything exported by the Owl library:

Main entities:

  • App: represent an Owl application (mainly a root component,a set of templates, and a config)
  • Component: the main class to define a concrete Owl component
  • mount: main entry point for most application: mount a component to a target
  • xml: helper to define an inline template

Reactivity

  • useState: create a reactive object (hook, linked to a specific component)
  • reactive: create a reactive object (not linked to any component)
  • markRaw: mark an object or array so that it is ignored by the reactivity system
  • toRaw: given a reactive objet, return the raw (non reactive) underlying object

Lifecycle hooks:

  • onWillStart: hook to define asynchronous code that should be executed before component is rendered
  • onMounted: hook to define code that should be executed when component is mounted
  • onWillPatch: hook to define code that should be executed before component is patched
  • onWillUpdateProps: hook to define code that should be executed before component is updated
  • onPatched: hook to define code that should be executed when component is patched
  • onWillRender: hook to define code that should be executed before component is rendered
  • onRendered: hook to define code that should be executed after component is rendered
  • onWillUnmount: hook to define code that should be executed before component is unmounted
  • onWillDestroy: hook to define code that should be executed before component is destroyed
  • onError: hook to define a Owl error handler

Other hooks:

  • useComponent: return a reference to the current component (useful to create derived hooks)
  • useEffect: define an effect with its dependencies
  • useEnv: return a reference to the current env
  • useExternalListener: add a listener outside of a component DOM
  • useRef: get an object representing a reference (t-ref)
  • useChildSubEnv: extend the current env with additional information (for child components)
  • useSubEnv: extend the current env with additional information (for current component and child components)

Utility/helpers:

  • EventBus: a simple event bus
  • loadFile: an helper to load a file from the server
  • markup: utility function to define strings that represent html (should not be escaped)
  • status: utility function to get the status of a component (new, mounted or destroyed)
  • whenReady: utility function to execute code when DOM is ready