---
url: >-
  https://lit-ui-router.dev/api/lit-ui-router-effect/interfaces/RefControllerOptions.md
---
[lit-ui-router-effect](../index.md) / RefControllerOptions

# Interface: RefControllerOptions\<T>

Defined in: [lit-ui-router-effect/src/ref-controller.ts:39](https://github.com/simshanith/lit-ui-router/blob/92660184d9980e90964f7e785d5efeb5cae43b42/packages/lit-ui-router-effect/src/ref-controller.ts#L39)

Options for [RefController](../classes/RefController.md).

## Extended by

* [`RouterRefControllerOptions`](RouterRefControllerOptions.md)

## Type Parameters

| Type Parameter |
| ------ |
|  `T` |

## Properties

| Property | Type | Description | Defined in |
| ------ | ------ | ------ | ------ |
|  `equals?` | (`a`, `b`) => `boolean` | Comparer deciding whether the selected value changed. Defaults to `Object.is`; pass `Equal.equals` for structural comparison (plain objects on effect 4, `Data` values on either major). | [lit-ui-router-effect/src/ref-controller.ts:61](https://github.com/simshanith/lit-ui-router/blob/92660184d9980e90964f7e785d5efeb5cae43b42/packages/lit-ui-router-effect/src/ref-controller.ts#L61) |
|  `initialValue?` | `T` | Value exposed on `.value` before the first read of a ref that is only resolved on `hostConnected` (see [RefSource](../type-aliases/RefSource.md)) — that is, before the host connects, and on any host that renders while disconnected (SSR). Refs given directly are read at construction instead, so they never need it. | [lit-ui-router-effect/src/ref-controller.ts:54](https://github.com/simshanith/lit-ui-router/blob/92660184d9980e90964f7e785d5efeb5cae43b42/packages/lit-ui-router-effect/src/ref-controller.ts#L54) |
|  `onChange?` | (`value`) => `void` | Invoked (before `host.requestUpdate()`) whenever the selected value changes — and once on every host (re)connect. Use for effects such as resetting component state from route params. | [lit-ui-router-effect/src/ref-controller.ts:45](https://github.com/simshanith/lit-ui-router/blob/92660184d9980e90964f7e785d5efeb5cae43b42/packages/lit-ui-router-effect/src/ref-controller.ts#L45) |
|  `runtime?` | [`RefRuntime`](RefRuntime.md) | The runtime the subscription fiber is forked on, and refs are read with. Defaults to Effect's default runtime; pass the app's `ManagedRuntime` to keep the fibers on one. The selector gets no services from it. | [lit-ui-router-effect/src/ref-controller.ts:68](https://github.com/simshanith/lit-ui-router/blob/92660184d9980e90964f7e785d5efeb5cae43b42/packages/lit-ui-router-effect/src/ref-controller.ts#L68) |
