# Technologies & Techniques

### [Typescript Generics](https://www.typescriptlang.org/docs/handbook/2/generics.html)

Our SDK is written in Typescript and heavily uses generics in order to allow users to use custom data and
still have decent typing support.

### [React Context](https://reactjs.org/docs/context.html)

We rely on multiple contexts in our SDK to access components, functions, and data.
Context also allows you as a developer to override our defaults for many of these throughout the SDK.
Understanding how to draw upon values in context is important to customizing the SDK for your own needs.

### [React Hooks](https://reactjs.org/docs/hooks-intro.html)

We use/expose a bunch of our component's hooks so users can use them in order to replicate some behaviour/data
parsing when creating custom components. Understanding how to work with hooks can come in very handy.

---

This page was last updated at 2025-08-15T14:16:15.158Z.

For the most recent version of this documentation, visit [https://getstream.io/chat/docs/sdk/react-native/v4/additional-resources/technologies-and-techniques/](https://getstream.io/chat/docs/sdk/react-native/v4/additional-resources/technologies-and-techniques/).