How to Learn React Native
Tags: mobile, reactnative, ios, android
Published: 2019-11-28 19:26:11

---
title: How to Learn React Native
published: true
description: Top topics, frameworks, tools and links to learn React Native.
tags: mobile, reactnative, ios, android
---
I enjoy the React Native ecosystem because of the opportunities working with this tech has afforded me to learn from, with and to build diverse teams. 

When I started working with React Native in 2017 it was relatively new, so finding folks who had experience was not an option. Thus, I had the chance to train folks in React Native, which allowed me to work and grow with some of the most diverse teams I've ever experienced. 

In the years since, I've started managing the React and React Native meetups for Women Who Code Austin and have enjoyed meeting dozens of folks interested in learning React and React Native. I wanted to put together this post to gather most of those tips, and also help folks who may be getting started.

![React Native Logo](https://dev-to-uploads.s3.amazonaws.com/i/gw9j3625cd80bgbksnzl.png)

**Learn React or Javascript**
React Native isn't going to make as much sense unless you've done [React](https://reactjs.org/) before, that said you can also probably skip this step if you are familiar with Javascript or another Javascript framework. 

**Learn Redux (Or Something Else)**
More than likely, you're going to need to manage state on your app. Most commonly folks use [Redux](https://redux.js.org/) for this, though you can also try [MobX](https://mobx.js.org/README.html), [Context](https://reactjs.org/docs/context.html), and then you can use these with other libraries to deal with async stuff, [Redux Thunk](https://github.com/reduxjs/redux-thunk) or [Redux-Saga](https://redux-saga.js.org/).

**Read The Read Native Docs**
[Here](https://facebook.github.io/react-native/docs/getting-started). They are pretty good and have been improving lately, these will be your friend, get familiar.

**Install These Things**
React Native docs have good info on what you need to use the technology, but it can be a real pain that involves a lot of online sleuthing and reading of GitHub and StackOverflow issues, nonetheless, I recommend going here to the ["React Native CLI Quickstart" section](https://facebook.github.io/react-native/docs/getting-started).

**React Native Tutorial**
I found this tutorial by [Spencer Carli](https://twitter.com/spencer_carli) was really helpful to me and I always refer folks who are learning to try it out, check out the ["React Native Basics" course](https://learn.handlebarlabs.com/p/react-native-basics-build-a-currency-converter).

**Learn About iOS Things**
There are a few core things about iOS that you need to understand to make your development on this platform easier. You won't be able to develop for iOS unless you have an Apple computer, FYI.
- CocoaPods is a dependency manager for iOS [learn more here](https://cocoapods.org/).
- XCode is the development environment for iOS, you will have to go into XCode sometimes [learn more here](https://developer.apple.com/xcode/).
- It costs $99 a year to be an Apple developer, as in using iOS to distribute (publish) apps, learn more [here](https://developer.apple.com/programs/how-it-works/).

**Learn About Android Things**
- Android Studio is the development environment for Android apps, you will occasionally have to use it, check it out [here](https://developer.android.com/studio).
- Jetpack is an Android library and tool manager, [learn more here](https://developer.android.com/jetpack), they are usually within the AndroidX namespace, learn more about [AndroidX here](https://developer.android.com/jetpack/androidx?gclid=EAIaIQobChMI_77938yN5gIVkYbACh2GYwZjEAAYASABEgKGcvD_BwE).
- It costs $25 for a one-time fee to become an Android developer and distribute your apps on the Google Play store, learn more [here](https://developer.android.com/).
- Gradle, you will need to know what the gradle is if you develop in Android. It's basically a build system, check out more [here](https://developer.android.com/studio/releases/gradle-plugin), [here](https://developer.android.com/studio/build/gradle-tips) and [here](https://stackoverflow.com/questions/16754643/what-is-gradle-in-android-studio).

**Learn About Fastlane**
[Fastlane](https://docs.fastlane.tools/) will save you a ton of time and you want to know about it.