Bagaimana untuk mengendalikan navigasi dari satu halaman ke halaman lain dalam React Native?

PHPz
Lepaskan: 2023-09-05 23:37:07
ke hadapan
761 orang telah melayarinya

如何在 React Native 中处理从一个页面到另一页面的导航?

Semasa membangunkan apl, kami ingin menukar dari satu skrin ke skrin lain dan ini dikendalikan melalui navigasi tindak balas.

Untuk bekerja pada halaman navigasi, kita perlu memasang beberapa pakej seperti yang ditunjukkan di bawah - p>

npm install @react-navigation/native @react-navigation/stack
npm install @react-native-community/masked-view react-native-screens react-native-safe-area-context react-native-gesture-handler
Salin selepas log masuk

Selepas melengkapkan pemasangan di atas, sekarang mari kita beralih ke persediaan navigasi seterusnya dalam React Native.

Buat folder bernama Pages/ dalam projek aplikasi anda. Cipta 2 fail js HomePage.js dan AboutPage.js.

pages/HomePage.js

import * as React from 'react';
import { Button, View, Alert, Text } from 'react-native';
const HomeScreen = ({ navigation }) => {
   return (
      <Button title="Click Here" onPress={() => navigation.navigate(&#39;About&#39;, { name: &#39;About Page&#39; })}/>
   );
};
export default HomeScreen;
Salin selepas log masuk

Di halaman utama, kami ingin memaparkan butang bertajuk "Klik Di Sini". Mengklik butang ini akan menavigasi pengguna ke skrin AboutPage. Butiran

AboutPage adalah seperti berikut -

pages/AboutPage.js

import * as React from &#39;react&#39;;
import { Button, View, Alert, Text } from &#39;react-native&#39;;
const AboutPage = () => {
   return <Text>You have reached inside About Page!</Text>;
};
export default AboutPage;
Salin selepas log masuk

Dalam halaman About kami hanya memaparkan teks seperti yang ditunjukkan di atas.

Sekarang mari kita panggil halaman dalam App.js seperti berikut -

Halaman itu dipanggil seperti berikut -

import HomePage from &#39;./pages/HomePage&#39;;
import AboutPage from &#39;./pages/AboutPage&#39;;
Salin selepas log masuk

Selain itu, kita perlu mengimport NavigationContainer daripada @react-navigation/native yang akan bertindak sebagai bekas navigasi. Tambah createStackNavigator daripada @react-navigation/stack.

Panggil createStackNavigator() seperti yang ditunjukkan di bawah -

const Stack = createStackNavigator();
Salin selepas log masuk

Kini anda boleh menambah halaman pada tindanan ini menggunakan sebagai bekas induk. Stack.Navigation membantu apl anda beralih antara skrin, dengan setiap skrin baharu diletakkan di atas tindanan.

<NavigationContainer><Stack.Navigator><Stack.Screen name="Home" component={HomePage} options={{ title: &#39;From home page : Navigation&#39; }} /><Stack.Screen name="About" component={AboutPage} />
</Stack.Navigator></NavigationContainer>
Salin selepas log masuk

Untuk membuat tindanan untuk skrin Utama, lakukan seperti berikut -

<Stack.Screen name="Home" component={HomePage} options={{ title: &#39;From home page : Navigation&#39; }} />
Salin selepas log masuk

Untuk membuat tindanan untuk skrin AboutPage, lakukan seperti berikut -

<Stack.Screen name="About" component={AboutPage} />
Salin selepas log masuk

Berikut ialah kod lengkap yang membantu dalam skrin navigasi dalam React Native -

import * as React from 'react';
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';
import HomePage from &#39;./pages/HomePage&#39;;
import AboutPage from &#39;./pages/AboutPage&#39;;
const Stack = createStackNavigator();
const MyStack = () => {
   return (
      <Stack.Screen name="Home" component={HomePage} options={{ title: &#39;From home page : Navigation&#39; }} /><Stack.Screen name="About" component={AboutPage} />
      
   );
};
export default MyStack;
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk mengendalikan navigasi dari satu halaman ke halaman lain dalam React Native?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!