<ahref="https://reactnative.dev/" target="_blank" rel="noopener noreferrer">React Native</a> apps, in
<ahref="https://rescript-lang.org/" target="_blank" rel="noopener noreferrer">ReScript</a>, using
<ahref="https://rescript-lang.org/docs/react/latest/introduction" target="_blank" rel="noopener noreferrer">ReScript React</a>.</p><h2class="anchor anchorWithStickyNavbar_LWe7" id="why-rescript-react-native-">Why <em>ReScript React Native</em> ?<ahref="#why-rescript-react-native-" class="hash-link" aria-label="Direct link to why-rescript-react-native-" title="Direct link to why-rescript-react-native-"></a></h2><p>By leveraging the ReScript great type system, expressive language features and
smooth interoperability with JavaScript (thanks to
<ahref="https://rescript-lang.org/" target="_blank" rel="noopener noreferrer">ReScript</a>, <em>ReScript React Native</em> provide
bindings for React Native features as components & APIs that are:</p><ul><li>Safe and statically typed</li><li>Simple and lean</li><li>Familiar and easy to insert into an existing React Native codebase</li></ul><p>It is often said that writing ReactJS code feels like "just using JavaScript".
The same applies to <em>ReScript React</em> with <em>ReScript React Native</em>: you will feel
like you are "just using ReScript".</p><h2class="anchor anchorWithStickyNavbar_LWe7" id="how-to-use-rescript-react-native-">How to use <em>ReScript React Native</em> ?<ahref="#how-to-use-rescript-react-native-" class="hash-link" aria-label="Direct link to how-to-use-rescript-react-native-" title="Direct link to how-to-use-rescript-react-native-"></a></h2><p>Like <em>ReScript React</em> for React, <em>ReScript React Native</em> is a ReScript package that exposes
bindings for React Native.</p><p>On your side, you write ReScript code that use the <code>ReactNative</code> module exposed by
<code>rescript-react-native</code> package that you will find on <code>npm</code>.</p><p>ReScript will compile this code to safe JavaScript that React Native can
consume like standard JavaScript.</p><p><imgloading="lazy" alt="Introduction" src="/assets/images/introduction-f371744e623bab317b3bc3be11b60603.svg" width="250" height="200" class="img_ev3q"></p><p>If you are familiar with Flow or TypeScript, you can see ReScript as the next
level of strongly typed JavaScript.</p><p>In short, you write safer code that will be compiled to safe JavaScript & end up
with a safer React Native app!</p><h2class="anchor anchorWithStickyNavbar_LWe7" id="zero-cost">Zero-Cost<ahref="#zero-cost" class="hash-link" aria-label="Direct link to Zero-Cost" title="Direct link to Zero-Cost"></a></h2><p>What is awesome about <em>ReScript React Native</em> bindings is that they don't
introduce an additional cost. The JavaScript code produced by ReScript will
directly hit React & React Native JavaScript implementation, without any extra
runtime & bundle cost.</p><h2class="anchor anchorWithStickyNavbar_LWe7" id="using-rescript--rescript-react">Using ReScript & ReScript React<ahref="#using-rescript--rescript-react" class="hash-link" aria-label="Direct link to Using ReScript & ReScript React" title="Direct link to Using ReScript & ReScript React"></a></h2><p><em>ReScript React Native</em> is a package that works with
<ahref="https://rescript-lang.org/" target="_blank" rel="noopener noreferrer">ReScript</a> & use
<ahref="https://rescript-lang.org/docs/react/latest/introduction" target="_blank" rel="noopener noreferrer">ReScript React</a>. For this reasons,
if you are unfamiliar with one of these two, we encourage you to have a look to