Skip to content

hooks

hooks

React-style hooks for function components.

Hooks let function components hold state, run side effects, and memoize values without converting to class components. They work by maintaining a per-component-instance list of hook slots, accessed by call order.

Rules of hooks (same as React):

  1. Only call hooks at the top level of a function component.
  2. Do not call hooks inside loops, conditions, or nested functions.
  3. Do not call hooks outside of a function component's render.

HookRef

Bases: Generic[T]

Mutable container returned by use_ref.

use_state(initial)

Declare component-local state.

Returns (current_value, setter). The setter accepts a plain value or an updater function::

count, set_count = use_state(0)
set_count(5)                   # set directly
set_count(lambda prev: prev+1) # updater

use_effect(fn, deps=None)

Register a side-effect that runs after render.

  • deps=None — run after every render.
  • deps=[] — run only on mount (cleanup runs on unmount).
  • deps=[a,b] — run when a or b changes.

fn may return a cleanup callable.

use_memo(fn, deps)

Memoize a computed value, recomputing only when deps change.

use_ref(initial=None)

Create a mutable ref object that persists across renders.

use_callback(fn, deps)

Memoize a callback, returning the same reference until deps change.