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>
 );
}

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