One of the benefits of React is its declarative interface and the fact that you can describe any advanced UI pattern with a set of components to have a predictable behavior. That is, completely different from what we have used to be doing - when writing imperative code. In fact, imperative itself is often blamed on Twitter for being highly dangerous and an anti-pattern. In this talk, we will explore different ways of building reusable libraries with React Native (like APIs and higher order components). We will see that imperative code is actually there at low-level and is what makes communication with native world possible.