Table of Contents
Indledning
React Native enable building navigine mobile apps with JavaScript and d React. A crimatail of mobile app development is navigation: guiding users through different screens and d feature sequilesly.
Anmoder og Installation
Before using React Navigation, ensure youhave a React Native project initialized. If youau are e starting fresh, use the React Native CLI ore Expo. React Navigation works with both.
Install Core Package
Det er nødvendigt at indføre en ny emballage.
npm install @react-navigation/native
De fleste af de projekter, der er omfattet af denne forordning, er:
npm install react-native-screens react-native-safe-area-context
Hvis du bruger disse bibliotekarer, er de allerede en del af projektet.
Install a Navigator
React Navigation tilbyder multiple navigatører. The-Committee 1; FLT: 0; FLT: 0; 3; Navige stack navigator 1; FLT: 1; FLT: 3; Det anbefales, at der anvendes en most-case:
npm install @react-navigation/native-stack
Andre navigatører kan lide 1; FLT: 0; 3; bottom tabs; 1; FLT: 1; 3; og 3; og 3; FLT: 2; FLT: 3; drawer 1; FLT: 3; FLT: 3; FLT: 3; Are Installed Separately:
npm install @react-navigation/bottom-tabs
npm install @react-navigation/drawer
CoreConceptsCity in Quebec Canada
React Navigation is build around three main building blocks:
- - det andet afsnit, der omhandler den administrative forvaltning af navigationsområdet og den stat, der er ansvarlig for forvaltningen.
- - Det er en navigationsmønster (stack, tab, drawer).
- - individuelle personer, der repræsenterer en person, der er statsborger i en anden medlemsstat, eller som er statsborger i en anden medlemsstat, eller
Det er ikke muligt at foretage en sådan vurdering, men det er ikke muligt at foretage en vurdering af de faktiske forhold.
Setting Up a Stack Navigator
Denne stack navigator managers en sidste-in-first-out stack of screens.It 't bruger disse na nave platform' s transition animations og d gestures by default.
First, import necessary modules:
import { NavigationContainer } from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
Skab en stack navigerør instancie:
const Stack = createNativeStackNavigator();
Definér denne navigator inside yur App connect:
function App() {
return (
<NavigationContainer>
<Stack.Navigator>
<Stack.Screen name="Home" component={HomeScreen} />
<Stack.Screen name="Details" component={DetailsScreen} />
</Stack.Navigator>
</NavigationContainer>
);
}
Each-1; FLT: 8; FLT: 3; CY: 3; FLT: 9; FLT: 3; prop (usd fr navigation) og d a FLT: 10; FLT: 3; Prop (The React Reentt to render).
Creating Screens and Navigating
Screening ar ar ar ar de standar de React Reacts. They receive two important props: A1; A1; FLT: 111- A3; A3; A1; A1; A1; FLT: 12- A3; Thee A1; A11- A3; A13; A11- A3; A11- A3- A3- A3- A3- A3- A3- A3- A3- A3- A3- A3- A3- A3- A3- A3- A3- A3- A3- A3- A3- A3- A3- A3- A3- A3- A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A3A@@
function HomeScreen({ navigation }) {
return (
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<Text>Home Screen</Text>
<Button
title="Go to Details"
onPress={() => navigation.navigate('Details')}
/>
</View>
);
}
Disse detaljer kræver ikke, at navigationsprocessen skal foregå på en sådan måde, at der er behov for at føre den videre.
function DetailsScreen({ route }) {
return (
<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
<Text>Details Screen</Text>
</View>
);
}
Navigation Methods
React Navigation giver flere metoder til at bestemme 1; FLT: 16;
- - flyrejser til en skærm, der er i besiddelse af en eksisterende flybillet.
- - alle gange er der en ny screen onto the stack, hver gang den er den samme screen en it is already it it stack.
- - navigateus to previous screen in the stack.
- - at erstatte de nuværende tal med tal, der er baseret på en anden analyse.
- (1); (1); (3); (3); (3); (3); (3); (3); (3); (3); (3); (3); (3); (3) (3) (4) (4) (5) (5) (5) (5) (6) (6) (6) (6) (6) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (8) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7) (7)
Fr examplle, to push a new instance og the Details screen and d pass parameters:
navigation.push('Details', { itemId: 42, otherParam: 'anything' });
Passing Parameters Between Screens
Data can be passed to a screen via the second argumentt to o 1;; FLT: 18; FLT: 3; OR 1; FLT: 19; FLT: 19; DJ; DJ receving screen s tose parameters thematre thematch '1; FLT: 20; FFT: 3; DJ;
// In HomeScreen
navigation.navigate('Details', { userId: 123 });
// In DetailsScreen
function DetailsScreen({ route }) {
const { userId } = route.params;
return <Text>User ID: {userId}</Text>;
}
Set default parameters value using gl; FLT: 22-3; Di; og denne screen end:
<Stack.Screen
name="Details"
component={DetailsScreen}
initialParams={{ itemId: 0 }}
/>
Konfiguring Navigatioen OptionsComment
Det er ikke nødvendigt at foretage en sådan vurdering, men det er nødvendigt at foretage en vurdering af de faktiske forhold i forbindelse med de pågældende projekter.
Hovedstol Customization
<Stack.Screen
name="Details"
component={DetailsScreen}
options={{
title: 'Details',
headerStyle: { backgroundColor: '#f4511e' },
headerTintColor: '#fff',
headerTitleStyle: { fontWeight: 'bold' },
}}
/>
Dynamic options can be set using a function that receives 1;; FLT: 28;; 3;
options={({ route }) => ({ title: route.params.name })}
Tab NavigatorCity in New York USA
Tab navigatio n is commoton fr top- level app sections. Install the bottom tabs navigerat:
npm install @react-navigation/bottom-tabs
Skabe en tab navigerør og d kombinere det wit yur stack:
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
const Tab = createBottomTabNavigator();
function HomeTabs() {
return (
<Tab.Navigator>
<Tab.Screen name="Feed" component={FeedScreen} />
<Tab.Screen name="Profile" component={ProfileScreen} />
</Tab.Navigator>
);
}
You can nest the tab navigerator inside a stack navigerator or vice versa. Customise tab ikons using the e;; 1; FLT: 32; 3; 3; prop with with means 1; 1; FLT: 33; 3; 3;.
Drawer Navigator
En drawer navigerator slider en drawer from the left, reveraling navigeratio items. Install it:
npm install @react-navigation/drawer
Example setup:
import { createDrawerNavigator } from '@react-navigation/drawer';
const Drawer = createDrawerNavigator();
function AppDrawer() {
return (
<Drawer.Navigator>
<Drawer.Screen name="Home" component={HomeScreen} />
<Drawer.Screen name="Settings" component={SettingsScreen} />
</Drawer.Navigator>
);
}
Use-up-1;; FLT: 36-3; To-open og d close-the-drawer programmatically.
Nested Navigators
Komplekse apps af teten nestin navigeringsfly (f.eks. en tab navigerator inside a stack navigerator). React Navigatio handlet nestog graciatori. The meadly 1; FLT: 37 Meado3; prop provided to any screen can cal call methods og en parentt navigerator if needed. Use meado1; FLT: 38 Meado3; to access the parent navigerator 's methods.
Example: En stack containing a tab navigerator og d a settings screen:
function RootStack() {
return (
<Stack.Navigator>
<Stack.Screen name="Main" component={MainTabs} options={{ headerShown: false }} />
<Stack.Screen name="Settings" component={SettingsScreen} />
</Stack.Navigator>
);
}
Linking and d Deep Linking
React Navigation supports deep linking to handle URLs that open specific screens.Configure the me 1;; FLT: 40; FLT: 40;; Prop on 1; FLT: 41;
const linking = {
prefixes: ['myapp://', 'https://myapp.com'],
config: {
screens: {
Home: 'home',
Details: 'details/:itemId',
},
},
};
<NavigationContainer linking={linking}>
{/* navigators */}
</NavigationContainer>
De er ikke altid så gode som at være en slags underretningsfilm.
Authentication Flows
En person, der har ret til at føre en navigationstjeneste, skal have en autorisation fra staten.
function App() {
const [isSignedIn, setIsSignedIn] = useState(false);
return (
<NavigationContainer>
{isSignedIn ? <AppNavigator /> : <AuthNavigator />}
</NavigationContainer>
);
}
Alternativ, bruger en enkelt stack with conditions. Undgået flickering by keeping the promise orr state up to date.
Performance and d Best Practices
- Use-stack navigator-1; FLT: 0-3; NETT: 0-3; NETT: 1-3; NETT: 1-3; NETT: 1-3; NETT: 44-3; NETT: 3-3;) FET better performance-og NETT-transitions.
- Minimizer the number fr screensempted et on-ce. React Navigation unmountshout screenss by default fr stack navigators, men t fr tab navigators, you cun configure lazy loing.
- Pass only primitive data through parameters to avoid serialization issues.
- Der er tale om en række forskellige former for støtte, som er blevet ydet til virksomheder, der har fået tildelt en særlig støtte.
- Undtaget fra de tunge computere, der anvendes til navigationsombytning; offloud work with-1; FLT: 47;
- Det er altid muligt at foretage disse ændringer 1; FLT: 48; FLT: 3; Aften før unsaved changes prompts.
Afsluttende
React Navigation providees an intuitive, customizable, and d performant way to manage navigation in Inn React Native apps. By mastering stack, tab, drawr, and nestednavigators, along with parameter passing, deep linking, and d autentising ation flows, you cun build robuild mobile experiences; Fr furthar details, refej to the 1; FLT: 0; FL: 0; 3; Reitt roaad react react reacy; Reacy; React; 3; 3; 3; 3; 3; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4; 4