![]() |
React Native | Meta |
React Native is an open-source framework that leverages React and the native capabilities of platforms to create cross-platform applications. Throughout this course, you will progress from fundamental React concepts to advanced implementation using React Native. You'll explore diverse React components and various methods of styling them, alongside practicing interactive mobile development techniques with React Native.
Key skills covered include building single-page applications in React Native, styling with basic components, managing extensive lists, configuring user inputs, and utilizing the Pressable component for creating interactive elements. You'll also learn to set up navigation using React Navigation to facilitate seamless transitions between app screens.
This course equips learners with proficiency in React, React Native, essential front-end languages (HTML, CSS, JavaScript), JSX syntax, and popular coding environments like Expo and Visual Studio Code. It's designed for those aspiring to enter the field of mobile development, requiring a foundational understanding of React fundamentals, basic internet navigation skills, and a strong enthusiasm for coding.
Notice!
Always refer to the module on your course for the most accurate and up-to-date information.
Attention!
If you have any questions that are not covered in this post, please feel free to leave them in the comments section below. Thank you for your engagement.
Module quiz: Introduction to React Native
- Builds cross-platform native apps
- Cost-effective
- Superior developer experience
- Uses Swift and Kotlin
- Core Components
- Your native custom components
- None of the above.
- Community Components
- React Native is cost-effective since there is no need for multiple teams. A single code base is shared between iOS and Android, and all code changes reflect upon both platforms.
- React Native has separate code bases for both iOS and Android. These have to be maintained by two different teams of developers. Because of this, React Native could be quite expensive.
- Using Expo CLI
- Using React Native CLI
- Expo CLI is a paid service, and you can override app store requirements to push updates.
- All of the code is written in JavaScript, without native code. This enables Expo to push updates OTA.
- A View component is a parent element that cannot have other views inside it.
- A View component can be nested inside other views and can have as many children of any type.
- True
- False
- Android Developer
- Cross-Platform Developer
- iOS Developer
import * as React from 'react';import { View, Text, StyleSheet } from 'react-native';
export default function LittleLemonHeader() {return (<View style={headerStyles.container}><Text style={headerStyles.headerText}>Little Lemon<Text style={headerStyles.innerText}> Cafe</Text></Text></View>);}const headerStyles = StyleSheet.create({container: {flex: 0.1,backgroundColor: '#F4CE14',},headerText: {padding: 40,fontSize: 30,color: 'black',textAlign: 'center',},innerText: {fontWeight: 'bold',},});
import * as React from 'react';import { View, Text } from 'react-native';export default function LittleLemonHeader() {return (<View style={{ flex: 0.1, backgroundColor: '#F4CE14' }}><Text style={{ padding: 40, fontSize: 30, color: 'black', textAlign: "center" }}>Little Lemon<Text style={{ fontWeight: 'bold' }}> Cafe</Text></Text></View>);}
<ScrollView>Some text</ScrollView><ScrollView><Text>Some text<Text> Some more text</Text></Text></ScrollView>
<ScrollView><Text>Some text</Text></ScrollView><ScrollView><Text>Some text</ScrollView></Text>
Module quiz: Lists and Text Input in React Native
- FlatList
- ScrollView
- SectionList
- True
- False
- Header, footer, and separator support
- Fully cross-platform
- Pull to refresh support
- Sectional support
- blur()
- focus()
- isFocused()
- ItemSeparatorComponent
- SectionSeparatorComponent
- ListSeparatorComponent
- True
- False
- FlatList
- ScrollView
- SectionList
- web-search
- email-address
- number-pad
- phone-pad
- ScrollView
- FlatList
- SectionList
Module quiz: Pressable, Images and Hooks in React Native
- useColorScheme
- useWindowDimensions
- useAppState
- ImageBackground
- View
- Image
- True
- False
- cover
- contain
- stretch
- left
- The Image component can fetch and display images from a network.
- The Image component can fetch and display images from local storage.
- The Image component cannot fetch and display images from a network location.
import React from 'react';import { View, Image, StyleSheet } from 'react-native';const styles = StyleSheet.create({container: {flex: 1,margin: 10,},logo: {width: 100,height: 100,flex:1},});const DisplayAnImageWithStyle = () => {return (<View style={styles.container}><ImageresizeMode={"cover"}style={styles.logo}source={require('./logo.png')}/></View>);}export default DisplayAnImageWithStyle;import React from 'react';import { View, Image, StyleSheet } from 'react-native';const styles = StyleSheet.create({container: {flex: 1,margin: 10,},logo: {width: 100,height: 100,flex:1},});const DisplayAnImageWithStyle = () => {return (<View style={styles.container}><ImageresizeMode={"stretch"}style={styles.logo}source={require('./logo.png')}/></View>);}export default DisplayAnImageWithStyle;
import React from 'react';import { View, Image, StyleSheet } from 'react-native';const styles = StyleSheet.create({container: {flex: 1,margin: 10,},logo: {width: 100,height: 100,flex:1},});const DisplayAnImageWithStyle = () => {return (<View style={styles.container}><ImageresizeMode={"contain"}style={styles.logo}source={require('./logo.png')}/></View>);}export default DisplayAnImageWithStyle;
- useKeyboard
- useAppState
- useDeviceOrientation
- True
- False
- The ImageBackground component has props different from the Image component.
- The ImageBackground component has the same props as the Image component.
- onLongPress
- onPressOut
- onPressIn
- onPress
Module quiz: React Navigation
import { NavigationContainer } from '@react-navigation/native';
- The NavigationContainer is imported from the correct package and will cause an error.
- The NavigationContainer is imported from the correct package.
- push
- goBack
- pop
- popToTop
- navigation.push('Details')
- navigation.navigate('Details')
- navigation.goTo('Details')
- options
- screenOptions
- drawerType
- drawerStyle
- drawerPosition
- tabBarActiveTintColor
- tabBarInactiveTintColor
- tabBarColor
- name
- component
- intialRouteName
- react-native-gesture-handler
- react-navigation/native-stack
- react-native-reanimated
- @react-navigation/drawer
- True
- False
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';const Tab = createBottomTabNavigator();function MyTabs() {return (<Tab.Navigator><Tab.Screen name="Home" component={HomeScreen} /><Tab.Screen name="Settings" component={SettingsScreen} /></Tab.Navigator>);}
- The code is incorrect and will throw an error.
- The code correctly sets up tab navigation.
Final course quiz: React Native
<Text style={{ fontWeight: 'bold' }}>I am bold<Text style={{ color: blue }}>and blue</Text></Text>
- The code is not valid. Something is missing.
- This code is valid. It will print: I am bold and blue.
- Core Components
- Your native custom components
- Community Components
- FlatList
- ScrollView
- SectionList
- FlatList
- ScrollView
- SectionList
- useColorScheme
- useDeviceOrientation
- useWindowDimensions
- useKeyboard
- contain
- stretch
- cover
- repeat
- onPressIn
- onPress
- onPressOut
- onLongPress
- react-native >= 0.70.0 and expo >= 42 (if you use Expo)
- react-native >= 0.56.0 and expo >= 41 (if you use Expo)
- react-native >= 0.63.0 and expo >= 41 (if you use Expo)
import MenuScreen from './Screens/MenuScreen';import WelcomeScreen from './Screens/WelcomeScreen';import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';const Tab = createBottomTabNavigator();export default function App() {return (<Tab.Navigator><Tab.Screen name="Welcome" component={WelcomeScreen} /><Tab.Screen name="Menu" component={MenuScreen} /></Tab.Navigator>);}
- The code is valid.
- The code is incorrect.
- drawerType
- drawerPosition
- drawerStyle