Practice
1. What is the main purpose of using an image picker in a React Native app?
easy
Solution
Step 1: Understand the image picker role
An image picker allows users to choose or capture photos within the app.Step 2: Compare options
Options B, C, and D describe different features unrelated to picking images from device storage or camera.Final Answer:
To let users select or take photos inside the app -> Option AQuick Check:
Image picker = select or take photos [OK]
Hint: Image picker = choose or take photos inside app [OK]
Common Mistakes:
- Confusing image picker with image editing
- Thinking it uploads images from internet
- Assuming it only displays images
2. Which of the following is the correct way to import the image picker library in React Native?
easy
Solution
Step 1: Identify correct package and function
The official image picker uses 'react-native-image-picker' and exports 'launchImageLibrary'.Step 2: Check each import statement
import { launchImageLibrary } from 'react-native-image-picker'; matches the correct import syntax and function name. Others use wrong package names or functions.Final Answer:
import { launchImageLibrary } from 'react-native-image-picker'; -> Option DQuick Check:
Correct import = import { launchImageLibrary } from 'react-native-image-picker'; [OK]
Hint: Use exact package and function names for import [OK]
Common Mistakes:
- Using wrong package name
- Importing non-existent functions
- Confusing camera and image picker imports
3. What will be the output of this code snippet when a user cancels the image selection?
launchImageLibrary({}, response => {
if (response.didCancel) {
console.log('User cancelled');
} else if (response.errorCode) {
console.log('Error:', response.errorMessage);
} else {
console.log('Image URI:', response.assets[0].uri);
}
});medium
Solution
Step 1: Understand response properties
If the user cancels, response.didCancel is true, so the first if block runs.Step 2: Check code branches
Since didCancel is true, it logs 'User cancelled' and skips other branches.Final Answer:
Logs 'User cancelled' to the console -> Option CQuick Check:
didCancel true logs 'User cancelled' [OK]
Hint: Check didCancel to detect user cancellation [OK]
Common Mistakes:
- Confusing didCancel with errorCode
- Expecting image URI when cancelled
- Not handling cancellation case
4. Identify the error in this React Native image picker usage:
launchImageLibrary(options, response => {
if (response.didCancel) {
console.log('User cancelled');
} else if (response.errorCode) {
console.log('Error:', response.errorMessage);
} else {
console.log('Image URI:', response.uri);
}
});medium
Solution
Step 1: Check response object structure
The image URI is inside response.assets array, not directly in response.uri.Step 2: Identify incorrect property access
Accessing response.uri will be undefined or cause error; correct is response.assets[0].uri.Final Answer:
Accessing response.uri instead of response.assets[0].uri -> Option BQuick Check:
Image URI = response.assets[0].uri [OK]
Hint: Image URI is in response.assets[0].uri, not response.uri [OK]
Common Mistakes:
- Using wrong error property
- Ignoring user cancellation
- Not importing the function
5. You want to allow users to pick only photos (no videos) from their library. Which option object should you pass to
launchImageLibrary?hard
Solution
Step 1: Understand mediaType option
The mediaType option controls what media types the picker shows: 'photo', 'video', or 'mixed'.Step 2: Choose correct mediaType for photos only
'photo' restricts selection to images only, which matches the requirement.Step 3: Eliminate incorrect options
'video' allows only videos, 'mixed' allows both, 'image' is invalid.Final Answer:
{ mediaType: 'photo' } -> Option AQuick Check:
mediaType 'photo' = photos only [OK]
Hint: Use mediaType: 'photo' to pick only images [OK]
Common Mistakes:
- Using 'image' instead of 'photo'
- Choosing 'mixed' when only photos needed
- Confusing 'video' with photos
