# addEventListener()

> Window events: ready, open, close, size (preselect it), loaderror.

Source: https://docs.tryyoursize.com/reference/react-native/add-event-listener/

*Function* · `@tryyoursize/react-native`

Window events: ready, open, close, size (preselect it), loaderror.

```ts
function addEventListener(listener: (e: TysEvent) => void): { remove(): void }
```

## Parameters

- **`listener`** (`(e: TysEvent) => void`, required): Called with each window event: `ready`, `open`, `close`, `size` (preselect it), `loaderror`.

## Returns

`{ remove(): void }`: `{ remove() }`.

## Example

**React Native**

```tsx
const sub = addEventListener((e) => {
  if (e.type === "size") setSize(e.selection.size);
  if (e.type === "loaderror") console.warn(e.code);
});
```

**Swift**

```swift
let sub = tys.on { event in
    switch event {
    case .size(let selection): selectedSize = selection.size   // "Use this size"
    case .loadError(let error): print(error.code)
    default: break
    }
}
```

**Kotlin**

```kotlin
val sub = tys.on { event ->
    when (event) {
        is TryYourSize.Event.Size -> selected = event.selection.size
        is TryYourSize.Event.LoadError -> Log.w("tys", event.error.code.wire)
        else -> Unit
    }
}
```

**Flutter**

```dart
tys.events.listen((e) {
  if (e is SizeSelected) setState(() => size = e.selection.size);
  if (e is LoadError) debugPrint(e.error.code);
});
```
