useComputed
See source codeCreates a new computed signal with custom options for advanced behavior like custom equality checking, diff computation, and history tracking. The computed signal will be created only once.
function useComputed<Value, Diff = unknown>(
  name: string,
  compute: () => Value,
  opts: ComputedOptions<Value, Diff>,
  deps: any[]
): Computed<Value>Example
function ShoppingCart() {
  const items = useAtom('items', [])
  // Computed with custom equality to avoid recalculation for equivalent arrays
  const sortedItems = useComputed(
    'sortedItems',
    () => items.get().sort((a, b) => a.name.localeCompare(b.name)),
    {
      isEqual: (a, b) =>
        a.length === b.length && a.every((item, i) => item.id === b[i].id),
    },
    [items]
  )
  return <ItemList items={sortedItems.get()} />
}Parameters
| Name | Description | 
|---|---|
  | A descriptive name for the computed signal, used for debugging and identification  | 
  | A function that computes the value, automatically tracking any signal dependencies  | 
  | Configuration options for the computed signal 
  | 
  | React dependency array that controls when the computed signal is recreated  | 
Returns
Computed<Value>A computed signal containing the calculated value with the specified options
Prev
useAtomNext
useQuickReactor