← Back to Skills Library

React Native

Information Technology > Programming frameworks

Description

React Native is a popular framework developed by Facebook for building mobile applications using JavaScript and React. It allows developers to build apps that run on multiple platforms, like iOS and Android, with a single codebase. The framework uses native components, providing the same performance and look-and-feel as traditional native apps. Key skills in React Native include understanding of JavaScript, HTML, CSS, and ES6 features, setting up a React Native environment, creating and styling components, handling user input, fetching data from APIs, state management with Redux, optimizing performance, implementing animations, testing strategies, and integrating with native code. Advanced users can architect large-scale applications, write native modules, and contribute to the community.

Expected Behaviors

✎
LEVEL 1

Fundamental Awareness

At this level, individuals have a basic understanding of JavaScript, HTML, CSS, ES6 features, and JSX. They are familiar with the concepts of React Native but may not be able to apply them in practice yet.

🌱
LEVEL 2

Novice

Novices can set up a React Native environment and create new projects. They understand React Native components, built-in hooks, state, props, and can style components using StyleSheet. However, they may still need guidance when dealing with more complex tasks.

🌍
LEVEL 3

Intermediate

Intermediate users can use third-party libraries, handle user input, fetch data from APIs, and understand navigation and lifecycle methods in React Native. They also have a grasp on Redux for state management. They can solve common problems and work independently on most tasks.

⭐
LEVEL 4

Advanced

Advanced users can build custom components, optimize performance, implement animations, integrate with native code, and understand advanced Redux concepts like middleware. They also know how to test their React Native applications. They can handle complex tasks and provide solutions that consider scalability and maintainability.

🏆
LEVEL 5

Expert

Experts can architect large-scale React Native applications, write native modules for both iOS and Android, understand complex animation techniques, and contribute to the React Native community. They also have a deep understanding of testing strategies and CI/CD processes. They can lead teams, make high-level decisions, and drive the direction of projects.

Micro Skills

✎
LEVEL 1

Fundamental Awareness

Knowledge of variables and data types
Understanding of control structures (loops, conditionals)
Ability to define and call functions
Understanding of arrays and objects
Familiarity with error handling
Understanding of HTML tags and their usage
Ability to style HTML elements using CSS
Understanding of CSS selectors
Familiarity with the box model in CSS
Knowledge of responsive design principles
Familiarity with the concept of components
Understanding of the virtual DOM
Knowledge of the difference between React Native and React
Awareness of the role of JSX in React Native
Understanding of let and const keywords
Familiarity with arrow functions
Knowledge of template literals
Understanding of destructuring assignment
Familiarity with ES6 modules
Knowledge of how to write JSX expressions
Understanding of how to use JSX in React Native components
Familiarity with the rules of JSX
Understanding of how JSX is transpiled to JavaScript
🌱
LEVEL 2

Novice

Downloading and installing Node.js
Downloading and installing Watchman
Installing the CLI
Understanding basic CLI commands
Downloading and installing Xcode
Downloading and installing Android Studio
Running the create command in the terminal
Understanding the created files and folders
Starting the iOS simulator
Starting the Android simulator
🌍
LEVEL 3

Intermediate

Understanding how to install and import third-party libraries
Knowledge of popular React Native libraries
Ability to read and understand library documentation
Understanding how to troubleshoot issues with third-party libraries
Knowledge of different types of navigation patterns (stack, tab, drawer)
Ability to set up and configure a navigator
Understanding how to navigate between screens
Ability to pass parameters to routes
Understanding of how to use text inputs
Ability to handle form submission
Understanding of how to implement touchable components
Ability to validate user input
Knowledge of different lifecycle methods
Understanding when and how to use each lifecycle method
Ability to handle side effects in lifecycle methods
Understanding how lifecycle methods relate to component rendering
Understanding of how to use fetch or axios for HTTP requests
Ability to handle API responses and errors
Understanding of async/await syntax
Knowledge of how to parse JSON data
Knowledge of Redux concepts (store, actions, reducers)
Ability to set up a Redux store
Understanding how to dispatch actions and update state
Ability to connect React Native components to the Redux store
⭐
LEVEL 4

Advanced

Understanding of component composition
Knowledge of higher-order components
Ability to use context API for prop drilling
Understanding of render props pattern
Knowledge of React Native's performance profiling tools
Understanding of how to optimize list rendering
Ability to use memoization techniques
Understanding of how to avoid unnecessary re-renders
Understanding of the Animated API
Ability to use the LayoutAnimation API
Knowledge of third-party animation libraries
Ability to create complex animations using interpolation
Ability to write unit tests using Jest
Understanding of snapshot testing
Ability to write integration tests using Detox
Knowledge of test-driven development (TDD) practices
Understanding of how to write bridge code for iOS
Understanding of how to write bridge code for Android
Ability to use native modules and native UI components
Knowledge of platform-specific design patterns
Ability to use middleware like redux-thunk or redux-saga
Understanding of how to structure large Redux stores
Knowledge of Redux devtools
Understanding of how to handle side effects in Redux
🏆
LEVEL 5

Expert

Understanding of design patterns and architectural principles
Ability to create reusable components
Knowledge of state management at scale
Understanding of modular code structure
Knowledge of memory management in React Native
Ability to use profiling tools
Understanding of rendering optimizations
Knowledge of network optimization techniques
Understanding of Swift/Objective-C for iOS
Understanding of Java/Kotlin for Android
Ability to integrate native code with React Native
Understanding of platform-specific design guidelines
Ability to use Animated library for complex animations
Understanding of interpolation
Ability to use requestAnimationFrame for smooth animations
Knowledge of gesture handling
Understanding of open source licensing
Ability to write clear documentation
Understanding of version control with Git
Ability to write unit tests for public APIs
Knowledge of unit testing, integration testing, and end-to-end testing
Ability to set up a CI/CD pipeline
Understanding of release management
Knowledge of automated deployment tools

Skill Overview

  • Expert3 years experience
  • Micro-skills105
  • Roles requiring skill0

Sign up to prepare yourself or your team for a role that requires React Native.

LoginSign Up