SlideShare a Scribd company logo
Front End Workshops
React Native Part II:
Components
Raul Delgado
Marc Torrent
rdelgado@visual-engin.com
mtorrent@visual-engin.com
React Native short Recap
React Native: is a library to generate
native apps for iOS and Android mobile devices capable,
programmed in javascript.
React Native uses the actual native components of each
platform (currently iOS and Android).
Useful Native APIs
React Native Part I
Navigation in React Native Apps
Navigator: Intro
Navigator handles the transition
between different scenes in your app.
It is implemented in JavaScript and is
available on both iOS and Android.
renderScene: It is the prop that got a
function that is responsible for,
according to the name or index of the
route, we will render a view or
another.
Navigator: Intro
Navigator handles the transition
between different scenes in your app.
It is implemented in JavaScript and is
available on both iOS and Android.
renderScene: It is the prop that got a
function that is responsible for,
according to the name or index of the
route, we will render a view or
another.
renderScene(route, navigator) {
switch (route.name) {
case 'Login':
return (
<Login {...route.props}
navigator={navigator} route={route} />
);
case 'Dashboard':
return (
<Dashboard {...route.props}
navigator={navigator} route={route} />
);
default:
return null;
}
}
How navigate:
const route = {
title: 'Title,
name: 'NameComponent',
passProps: {propsToPass: true}
}
this.props.navigator.replace(route);
this.props.navigator.push(route);
this.props.navigator.pop( );
Navigator: Transitions
We can configure the navigation bar
properties, through the routeMapper
configureScene :
Optional function where you can
configure scene animations and
gestures.
Available scene configutation options
are:
Navigator.SceneConfigs.PushFromRight (default)
Navigator.SceneConfigs.FloatFromRight
Navigator.SceneConfigs.FloatFromLeft
Navigator.SceneConfigs.FloatFromBottom
Navigator.SceneConfigs.FloatFromBottomAndroid
Navigator.SceneConfigs.FadeAndroid
Navigator.SceneConfigs.HorizontalSwipeJump
Navigator.SceneConfigs.HorizontalSwipeJumpFromRigh
t
Navigator.SceneConfigs.VerticalUpSwipeJump
Navigator.SceneConfigs.VerticalDownSwipeJump
<Navigator
configureScene={(route) => {
return
Navigator.SceneConfigs.FloatFromBottom;
}}
navigationBar={
<Navigator.NavigationBar
routeMapper={NavigatorBarRouterMapper} />
}
/>
Navigator: Transitions
We can configure the navigation bar
properties, through the routeMapper
configureScene :
Optional function where you can
configure scene animations and
gestures.
Available scene configutation options
are:
Navigator.SceneConfigs.PushFromRight (default)
Navigator.SceneConfigs.FloatFromRight
Navigator.SceneConfigs.FloatFromLeft
Navigator.SceneConfigs.FloatFromBottom
Navigator.SceneConfigs.FloatFromBottomAndroid
Navigator.SceneConfigs.FadeAndroid
Navigator.SceneConfigs.HorizontalSwipeJump
Navigator.SceneConfigs.HorizontalSwipeJumpFromRigh
t
Navigator.SceneConfigs.VerticalUpSwipeJump
Navigator.SceneConfigs.VerticalDownSwipeJump
<Navigator
configureScene={(route) => {
return
Navigator.SceneConfigs.FloatFromBottom;
}}
navigationBar={
<Navigator.NavigationBar
routeMapper={NavigatorBarRouterMapper} />
}
/>
const NavigatorBarRouterMapper = {
LeftButton: (route, navigator, index) => {
return (
<TouchableHighlight onPress={() => {
navigator.pop();
} }>
<Text>Back</Text>
</TouchableHighlight>
);
},
RightButton: (route, navigator, index) => {
return null;
},
Title: (route, navigator, index) => {
return (
<Text >{route.name}</Text>
);
},
};
Tabs & Other Architectural
Components
TabBarIOS & TabBarIOS.Item
<TabBarIOS style={{backgroundColor: '#ffffff'}} >
<TabBarIOS.Item
title="Tab Bar 1"
selected={this.state.selectedTab === 'TabBar1'}
icon={{uri: iconGame1, scale:4 }}
onPress={() => {
this.setState({ selectedTab: TabBar1' });
}}
>
<DashboardView navigator={this.props.navigator} />
</TabBarIOS.Item>
<TabBarIOS.Item
title="Tab Bar 2"
selected={this.state.selectedTab === 'TabBar2'}
icon={{uri: iconGame1, scale:4 }}
onPress={() => {
this.setState({ selectedTab: 'TabBar2' });
}}
>
<DashboardView navigator={this.props.navigator} />
</TabBarIOS.Item>
</TabBarIOS>
ViewPagerAndroid
<ViewPagerAndroid
style={{flex: 1}}
initialPage={0}>
<View >
<Component1 navigator={this.props.navigator} />
</View>
<View>
<Component2 />
</View>
<View style={{backgroundColor: 'rgba(0,0,0,.8)', flex: 1}}>
<Text>ola</Text>
</View>
</ViewPagerAndroid>
One of the many alternatives to android tabs:
ViewPagerAndroid:
ScrollableTabView - Universal
$ npm install react-native-scrollable-tab-view
Tabbed navigation that you can swipe between, each tab
can have its own ScrollView and maintain its own scroll
position between swipes.
<ScrollableTabView>
<Componente1 tabLabel="comp1" />
<Componente2 tabLabel="comp2" />
<Componente3 tabLabel="comp3" />
</ScrollableTabView>
Lists & Other Presentational
Components
ListView
Use ListView to render a list of components.
Use a ListViewDataSource as the source of your ListView.
The ListViewDataSource has two main methods:
- rowHasChanged: function that handles if a row has to be re-rendered
- cloneWithRows: the datasource used by ListView is inmutable. So,
ListViewDataSource provides this method in order to clone the pre-existing
or new data list.
The ListView has the renderRow and renderSectionHeader props that are functions
that we provide to the ListView in order to render the cells.
renderRow (rowData, sectionID, rowID, highlightRow)
rowData → The data we will use to render our component inside this cell
sectionID, rowID → if we need to change our component from positioning
ListView - example
constructor(props) {
super(props);
this.state = {
dataSource: new ListView.DataSource({
rowHasChanged: (row1, row2) => row1 !== row2
})
};
}
fetchData(_newData) {
this.setState({
dataSource: this.state.dataSource.cloneWithRows(_newData)
});
}
render() {
return (
<ListView
dataSource={this.state.dataSource}
renderRow={(data, sectionID, rowID) => <MyCustomView {...data} />}
style={styles.listview} />
);
}
...
render() {
return (
<ListView
dataSource={this.state.dataSource}
renderRow={(data, sectionID, rowID) => <MyCustomView {...data} />}
renderScrollComponent={props => <RecyclerViewBackedScrollView {...props} />}
style={styles.listview} />
);
}
ListView - renderScrollComponent
renderScrollComponentallows setting wich component will render the scrolling
part of our list. By default ListView uses ScrollView.
For performance it’s better to use RecyclerViewBackedScrollView.
Also, you’ll find a lot of scrollable components such as InfiniteScrollView,
InvertibleScrollView, ScrollableMixin, ScrollableDecorator
OpenSource Important Components:
https://js.coach/react-native
https://react.parts/native
UI Components
Swiper: npm i react-native-swiper --save
Drawer: npm install --save react-native-drawer
Swipeout Buttons: npm install --save react-native-swipeout
Button: npm install react-native-button --save
Video: npm install react-native-video
Camera: npm install react-native-camera
Vector Icons: npm install react-native-vector-icons --save
Native Navigation: npm install react-native-navigation --save
Utilities & Architectural Components
Reactotron: npm install reactotron --save-dev
Internationalizatoin: npm install react-native-i18n --save
FileSytem: npm install react-native-fs --save
Push Notifications: npm install react-native-push-notification
Code Push: npm install --save react-native-code-push
CSS/SASS: npm install react-native-css -g
Device Info : npm install react-native-device-info --save
Redux Persist: npm i --save redux-persist
Thanks for your time!
Give your questions on the comments section
Workshop 25: React Native - Components

More Related Content

PDF
Workshop 24: React Native Introduction
PDF
Workshop 26: React Native - The Native Side
PDF
Workshop 23: ReactJS, React & Redux testing
PDF
Workshop 17: EmberJS parte II
PDF
Workshop 15: Ionic framework
PDF
Workshop 13: AngularJS Parte II
PDF
Workshop 27: Isomorphic web apps with ReactJS
PDF
Workshop 22: React-Redux Middleware
Workshop 24: React Native Introduction
Workshop 26: React Native - The Native Side
Workshop 23: ReactJS, React & Redux testing
Workshop 17: EmberJS parte II
Workshop 15: Ionic framework
Workshop 13: AngularJS Parte II
Workshop 27: Isomorphic web apps with ReactJS
Workshop 22: React-Redux Middleware

What's hot (20)

PDF
Workshop 14: AngularJS Parte III
PDF
Workshop 12: AngularJS Parte I
PDF
Workshop 20: ReactJS Part II Flux Pattern & Redux
PDF
Workshop 2: JavaScript Design Patterns
PDF
Workshop 19: ReactJS Introduction
PDF
Workshop 8: Templating: Handlebars, DustJS
PPTX
Academy PRO: React native - navigation
PPTX
Angular 2.0 Routing and Navigation
PDF
Workshop 3: JavaScript build tools
PPTX
IndexedDB - Querying and Performance
PDF
Protocol Oriented MVVM - Auckland iOS Meetup
PPTX
The road to Ember.js 2.0
PDF
Sane Async Patterns
PDF
Ember.js - A JavaScript framework for creating ambitious web applications
PDF
Loadrunner
PDF
Angular js routing options
PDF
AngularJS - TechTalk 3/2/2014
PDF
Protocol-Oriented MVVM
PDF
Building scalable applications with angular js
KEY
Single Page Web Applications with CoffeeScript, Backbone and Jasmine
Workshop 14: AngularJS Parte III
Workshop 12: AngularJS Parte I
Workshop 20: ReactJS Part II Flux Pattern & Redux
Workshop 2: JavaScript Design Patterns
Workshop 19: ReactJS Introduction
Workshop 8: Templating: Handlebars, DustJS
Academy PRO: React native - navigation
Angular 2.0 Routing and Navigation
Workshop 3: JavaScript build tools
IndexedDB - Querying and Performance
Protocol Oriented MVVM - Auckland iOS Meetup
The road to Ember.js 2.0
Sane Async Patterns
Ember.js - A JavaScript framework for creating ambitious web applications
Loadrunner
Angular js routing options
AngularJS - TechTalk 3/2/2014
Protocol-Oriented MVVM
Building scalable applications with angular js
Single Page Web Applications with CoffeeScript, Backbone and Jasmine
Ad

Viewers also liked (20)

PDF
Workhop iOS 1: Fundamentos de Swift
PDF
Workshop iOS 2: Swift - Structures
PDF
The mobile-web-at-a-snails-pace
PDF
Workshop 21: React Router
PDF
Navigation in React Native
PDF
[React-Native Tutorial] Lecture 8: Midterm Exam Discussion, Feedback, and Ter...
PDF
Lo mejor y peor de React Native @ValenciaJS
PDF
React Native custom components
PDF
React Native GUIDE
PDF
React Native Introduction: Making Real iOS and Android Mobile App By JavaScript
PDF
Intro to react native
PPTX
Change document display
PDF
Unlock The Value Of Your Microsoft and SAP Investments
PDF
Workshop 16: EmberJS Parte I
PDF
Workshop iOS 3: Testing, protocolos y extensiones
PPT
CDS Unit Testing
PDF
Workshop 11: Trendy web designs & prototyping
PDF
Workshop iOS 4: Closures, generics & operators
PDF
Multithreading 101
PDF
Hana sql
Workhop iOS 1: Fundamentos de Swift
Workshop iOS 2: Swift - Structures
The mobile-web-at-a-snails-pace
Workshop 21: React Router
Navigation in React Native
[React-Native Tutorial] Lecture 8: Midterm Exam Discussion, Feedback, and Ter...
Lo mejor y peor de React Native @ValenciaJS
React Native custom components
React Native GUIDE
React Native Introduction: Making Real iOS and Android Mobile App By JavaScript
Intro to react native
Change document display
Unlock The Value Of Your Microsoft and SAP Investments
Workshop 16: EmberJS Parte I
Workshop iOS 3: Testing, protocolos y extensiones
CDS Unit Testing
Workshop 11: Trendy web designs & prototyping
Workshop iOS 4: Closures, generics & operators
Multithreading 101
Hana sql
Ad

Similar to Workshop 25: React Native - Components (20)

PPTX
What's New in Android
PPTX
Average- An android project
PDF
Connect.js - Exploring React.Native
PPTX
Android 3
PDF
How to React Native
PPTX
List adapter with multiple objects
PDF
N Things You Don't Want to Repeat in React Native
PDF
Angular server side rendering - Strategies & Technics
PDF
Android por onde começar? Mini Curso Erbase 2015
PDF
Prescribing RX Responsibly
PDF
React on Rails - RailsConf 2017 (Phoenix)
PDF
Crossing platforms with JavaScript & React
PDF
Using React, Redux and Saga with Lottoland APIs
PDF
Migrating from Flux to Redux. Why and how.
PDF
Going fullstack React(ive) - Paulo Lopes - Codemotion Amsterdam 2017
PDF
React Native: JS MVC Meetup #15
PDF
React lecture
PDF
Reactive Programming Patterns with RxSwift
PDF
React 101
PDF
From mvc to redux: 停看聽
What's New in Android
Average- An android project
Connect.js - Exploring React.Native
Android 3
How to React Native
List adapter with multiple objects
N Things You Don't Want to Repeat in React Native
Angular server side rendering - Strategies & Technics
Android por onde começar? Mini Curso Erbase 2015
Prescribing RX Responsibly
React on Rails - RailsConf 2017 (Phoenix)
Crossing platforms with JavaScript & React
Using React, Redux and Saga with Lottoland APIs
Migrating from Flux to Redux. Why and how.
Going fullstack React(ive) - Paulo Lopes - Codemotion Amsterdam 2017
React Native: JS MVC Meetup #15
React lecture
Reactive Programming Patterns with RxSwift
React 101
From mvc to redux: 停看聽

More from Visual Engineering (8)

PDF
Workshop 22: ReactJS Redux Advanced
PDF
Workshop 18: CSS Animations & cool effects
PDF
Workshop 10: ECMAScript 6
PDF
Workshop 9: BackboneJS y patrones MVC
PDF
Workshop 7: Single Page Applications
PDF
Workshop 6: Designer tools
PDF
Workshop 5: JavaScript testing
PDF
Workshop 4: NodeJS. Express Framework & MongoDB.
Workshop 22: ReactJS Redux Advanced
Workshop 18: CSS Animations & cool effects
Workshop 10: ECMAScript 6
Workshop 9: BackboneJS y patrones MVC
Workshop 7: Single Page Applications
Workshop 6: Designer tools
Workshop 5: JavaScript testing
Workshop 4: NodeJS. Express Framework & MongoDB.

Recently uploaded (20)

PPTX
L1 - Introduction to python Backend.pptx
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
System and Network Administration Chapter 2
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PDF
System and Network Administraation Chapter 3
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
AI in Product Development-omnex systems
PPTX
Online Work Permit System for Fast Permit Processing
PDF
Understanding Forklifts - TECH EHS Solution
PPTX
Introduction to Artificial Intelligence
L1 - Introduction to python Backend.pptx
How to Migrate SBCGlobal Email to Yahoo Easily
System and Network Administration Chapter 2
2025 Textile ERP Trends: SAP, Odoo & Oracle
ManageIQ - Sprint 268 Review - Slide Deck
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
System and Network Administraation Chapter 3
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Upgrade and Innovation Strategies for SAP ERP Customers
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Design an Analysis of Algorithms I-SECS-1021-03
Operating system designcfffgfgggggggvggggggggg
Softaken Excel to vCard Converter Software.pdf
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Adobe Illustrator 28.6 Crack My Vision of Vector Design
AI in Product Development-omnex systems
Online Work Permit System for Fast Permit Processing
Understanding Forklifts - TECH EHS Solution
Introduction to Artificial Intelligence

Workshop 25: React Native - Components

  • 1. Front End Workshops React Native Part II: Components Raul Delgado Marc Torrent rdelgado@visual-engin.com mtorrent@visual-engin.com
  • 3. React Native: is a library to generate native apps for iOS and Android mobile devices capable, programmed in javascript. React Native uses the actual native components of each platform (currently iOS and Android). Useful Native APIs React Native Part I
  • 4. Navigation in React Native Apps
  • 5. Navigator: Intro Navigator handles the transition between different scenes in your app. It is implemented in JavaScript and is available on both iOS and Android. renderScene: It is the prop that got a function that is responsible for, according to the name or index of the route, we will render a view or another.
  • 6. Navigator: Intro Navigator handles the transition between different scenes in your app. It is implemented in JavaScript and is available on both iOS and Android. renderScene: It is the prop that got a function that is responsible for, according to the name or index of the route, we will render a view or another. renderScene(route, navigator) { switch (route.name) { case 'Login': return ( <Login {...route.props} navigator={navigator} route={route} /> ); case 'Dashboard': return ( <Dashboard {...route.props} navigator={navigator} route={route} /> ); default: return null; } } How navigate: const route = { title: 'Title, name: 'NameComponent', passProps: {propsToPass: true} } this.props.navigator.replace(route); this.props.navigator.push(route); this.props.navigator.pop( );
  • 7. Navigator: Transitions We can configure the navigation bar properties, through the routeMapper configureScene : Optional function where you can configure scene animations and gestures. Available scene configutation options are: Navigator.SceneConfigs.PushFromRight (default) Navigator.SceneConfigs.FloatFromRight Navigator.SceneConfigs.FloatFromLeft Navigator.SceneConfigs.FloatFromBottom Navigator.SceneConfigs.FloatFromBottomAndroid Navigator.SceneConfigs.FadeAndroid Navigator.SceneConfigs.HorizontalSwipeJump Navigator.SceneConfigs.HorizontalSwipeJumpFromRigh t Navigator.SceneConfigs.VerticalUpSwipeJump Navigator.SceneConfigs.VerticalDownSwipeJump <Navigator configureScene={(route) => { return Navigator.SceneConfigs.FloatFromBottom; }} navigationBar={ <Navigator.NavigationBar routeMapper={NavigatorBarRouterMapper} /> } />
  • 8. Navigator: Transitions We can configure the navigation bar properties, through the routeMapper configureScene : Optional function where you can configure scene animations and gestures. Available scene configutation options are: Navigator.SceneConfigs.PushFromRight (default) Navigator.SceneConfigs.FloatFromRight Navigator.SceneConfigs.FloatFromLeft Navigator.SceneConfigs.FloatFromBottom Navigator.SceneConfigs.FloatFromBottomAndroid Navigator.SceneConfigs.FadeAndroid Navigator.SceneConfigs.HorizontalSwipeJump Navigator.SceneConfigs.HorizontalSwipeJumpFromRigh t Navigator.SceneConfigs.VerticalUpSwipeJump Navigator.SceneConfigs.VerticalDownSwipeJump <Navigator configureScene={(route) => { return Navigator.SceneConfigs.FloatFromBottom; }} navigationBar={ <Navigator.NavigationBar routeMapper={NavigatorBarRouterMapper} /> } /> const NavigatorBarRouterMapper = { LeftButton: (route, navigator, index) => { return ( <TouchableHighlight onPress={() => { navigator.pop(); } }> <Text>Back</Text> </TouchableHighlight> ); }, RightButton: (route, navigator, index) => { return null; }, Title: (route, navigator, index) => { return ( <Text >{route.name}</Text> ); }, };
  • 9. Tabs & Other Architectural Components
  • 10. TabBarIOS & TabBarIOS.Item <TabBarIOS style={{backgroundColor: '#ffffff'}} > <TabBarIOS.Item title="Tab Bar 1" selected={this.state.selectedTab === 'TabBar1'} icon={{uri: iconGame1, scale:4 }} onPress={() => { this.setState({ selectedTab: TabBar1' }); }} > <DashboardView navigator={this.props.navigator} /> </TabBarIOS.Item> <TabBarIOS.Item title="Tab Bar 2" selected={this.state.selectedTab === 'TabBar2'} icon={{uri: iconGame1, scale:4 }} onPress={() => { this.setState({ selectedTab: 'TabBar2' }); }} > <DashboardView navigator={this.props.navigator} /> </TabBarIOS.Item> </TabBarIOS>
  • 11. ViewPagerAndroid <ViewPagerAndroid style={{flex: 1}} initialPage={0}> <View > <Component1 navigator={this.props.navigator} /> </View> <View> <Component2 /> </View> <View style={{backgroundColor: 'rgba(0,0,0,.8)', flex: 1}}> <Text>ola</Text> </View> </ViewPagerAndroid> One of the many alternatives to android tabs: ViewPagerAndroid:
  • 12. ScrollableTabView - Universal $ npm install react-native-scrollable-tab-view Tabbed navigation that you can swipe between, each tab can have its own ScrollView and maintain its own scroll position between swipes. <ScrollableTabView> <Componente1 tabLabel="comp1" /> <Componente2 tabLabel="comp2" /> <Componente3 tabLabel="comp3" /> </ScrollableTabView>
  • 13. Lists & Other Presentational Components
  • 14. ListView Use ListView to render a list of components. Use a ListViewDataSource as the source of your ListView. The ListViewDataSource has two main methods: - rowHasChanged: function that handles if a row has to be re-rendered - cloneWithRows: the datasource used by ListView is inmutable. So, ListViewDataSource provides this method in order to clone the pre-existing or new data list. The ListView has the renderRow and renderSectionHeader props that are functions that we provide to the ListView in order to render the cells. renderRow (rowData, sectionID, rowID, highlightRow) rowData → The data we will use to render our component inside this cell sectionID, rowID → if we need to change our component from positioning
  • 15. ListView - example constructor(props) { super(props); this.state = { dataSource: new ListView.DataSource({ rowHasChanged: (row1, row2) => row1 !== row2 }) }; } fetchData(_newData) { this.setState({ dataSource: this.state.dataSource.cloneWithRows(_newData) }); } render() { return ( <ListView dataSource={this.state.dataSource} renderRow={(data, sectionID, rowID) => <MyCustomView {...data} />} style={styles.listview} /> ); }
  • 16. ... render() { return ( <ListView dataSource={this.state.dataSource} renderRow={(data, sectionID, rowID) => <MyCustomView {...data} />} renderScrollComponent={props => <RecyclerViewBackedScrollView {...props} />} style={styles.listview} /> ); } ListView - renderScrollComponent renderScrollComponentallows setting wich component will render the scrolling part of our list. By default ListView uses ScrollView. For performance it’s better to use RecyclerViewBackedScrollView. Also, you’ll find a lot of scrollable components such as InfiniteScrollView, InvertibleScrollView, ScrollableMixin, ScrollableDecorator
  • 18. UI Components Swiper: npm i react-native-swiper --save Drawer: npm install --save react-native-drawer Swipeout Buttons: npm install --save react-native-swipeout Button: npm install react-native-button --save Video: npm install react-native-video Camera: npm install react-native-camera Vector Icons: npm install react-native-vector-icons --save Native Navigation: npm install react-native-navigation --save
  • 19. Utilities & Architectural Components Reactotron: npm install reactotron --save-dev Internationalizatoin: npm install react-native-i18n --save FileSytem: npm install react-native-fs --save Push Notifications: npm install react-native-push-notification Code Push: npm install --save react-native-code-push CSS/SASS: npm install react-native-css -g Device Info : npm install react-native-device-info --save Redux Persist: npm i --save redux-persist
  • 20. Thanks for your time! Give your questions on the comments section