แนะนํา

React bibals เปิดใช้งานการสร้างโปรแกรมเคลื่อนที่แบบใช้จาวาสคริปต์และ recact. แง่มุมสําคัญของการพัฒนาโปรแกรมแบบพกพา คือ การนําทาง: การนําทางผู้ใช้ผ่านหน้าจอและคุณสมบัติที่แตกต่างกัน [FLT: 0] การติดตาม [FLT: 1) เป็นไลบรารีที่นิยมมากที่สุดและขับเคลื่อนชุมชน เพื่อใช้ในการใช้งานโปรแกรมย่อยข้อมูลแบบ API ให้การสนับสนุนระบบ แท็บ, pp, และตัวนําทาง และเปลี่ยนรูปแบบการทํางาน ซึ่งครอบคลุมทุกการติดตั้งจากแบบก้าวหน้าเช่น การเดินแบบฝังแนบเนียน และแบบแบบแบบแบบแบบแบบแบบแบบแบบแบบแบบแบบแบบแบบแบบแบบแบบแบบแบบ SCUII

พรีเคซิไซต์และฉัน โพรมิเตอร์

ก่อนจะทําการนําทางแบบกลับด้าน ทําให้แน่ใจว่าคุณมีโครงการภาษาพื้นเมืองที่มีผลย้อนกลับที่เริ่มทํางานใหม่ หากคุณกําลังเริ่มต้นใหม่ ให้ใช้ resact CLI หรือ เอ็กซ์โป การนําทางแบบกลับตัวทํางานทั้งสองอย่าง

ติดตั้งแพกเกจหลัก

ติดตั้งแพกเกจที่ต้องการผ่านทาง npm หรือ เธรด ไลบรารีหลักและความขึ้นต่อกันหลักคือ:

npm install @react-navigation/native

จากนั้นติดตั้งไลบรารีที่รองรับการนําร่อง ขึ้นอยู่กับการจัดการหน้าจอและความปลอดภัย

npm install react-native-screens react-native-safe-area-context

หากคุณใช้ Expo ไลบรารีเหล่านี้จะรวมอยู่ด้วย สําหรับโครงการภาษาพื้นเมืองแบบเปลือย โปรดทําตามคําแนะนําการเชื่อมโยงในเอกสารอย่างเป็นทางการ เพื่อตรวจสอบว่ามอดูลท้องถิ่นเชื่อมต่ออย่างถูกต้อง (การเชื่อมโยงนี้สําหรับจัดการการจําแนกประเภทย่อย 060+).

ติดตั้งตัวนําทาง

การนําทางแบบกลับตัว มีผู้นําทางหลายคน [FLT: 0] ตัวนําทางกอง ([FLT: 1) ขอแนะนําให้ใช้กรณีส่วนใหญ่:

npm install @react-navigation/native-stack

ผู้นําทางอื่น ๆ เช่น [FLT: 0] แท็บล่าง ] และ ผู้รื้อถอน ได้ติดตั้งแยก:

npm install @react-navigation/bottom-tabs
npm install @react-navigation/drawer

คอนคอร์ดของแกน

ทางเข้ากลับตัวสร้างรอบอาคารหลักสามหลัง

  • [FLT: 0] กรมควบคุมการนําร่อง – แผงนอกสุดที่จัดการต้นไม้และรัฐ
  • [FLT: 0] สืบค้น – ส่วนประกอบที่นิยามรูปแบบการนําร่อง (พิมพ์, แท็บ, ลิ้นชัก).
  • [FLT: 0] จอก – ส่วนประกอบเฉพาะที่แสดงมุมมองหรือหน้าในแอพ

การปรับค่าการนําทางจะต้องผนวกเข้ากับ [FLT: 4] ซึ่งกล่องนี้จะวางไว้ที่รากของส่วนประกอบโปรแกรม

การ ตั้ง เครื่อง บิน แบบ ลัง

ตัวนําร่องเรียงราย จะจัดการทั้งกองหน้าจอที่อยู่ด้านหน้าและหลังสุด โดยจะใช้แอนิเมชันของแพลตฟอร์มพื้นเมือง และท่าทางโดยปริยาย

อย่างแรก, มอดูลนําเข้าที่จําเป็น:

import { NavigationContainer } from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';

สร้างตัวนําร่องสแต็ก:

const Stack = createNativeStackNavigator();

กําหนดตัวนําทางภายในส่วนประกอบ App ของคุณได้:

function App() {
 return (
 <NavigationContainer>
 <Stack.Navigator>
 <Stack.Screen name="Home" component={HomeScreen} />
 <Stack.Screen name="Details" component={DetailsScreen} />
 </Stack.Navigator>
 </NavigationContainer>
 );
}

แต่ละ [FLT: 8] เรียกค่า [FLT: 9] Proup (ใช้สําหรับการนําร่อง) และ [FLT: 10] Profile (ส่วนประกอบ react to transl).

กําลังสร้างหน้าจอและการนําทาง

หน้าจอเป็นส่วนประกอบมาตรฐาน โดยมันจะได้รับอุปกรณ์สําคัญ 2 อุปกรณ์: [FLT: 11] และ [FLT: 12] วัตถุ [FLT: 13] ให้วิธีการย้ายระหว่างหน้าจอ ด้านล่างเป็นหน้าจอทั่วไป:

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

ไม่จําเป็นต้องใช้อุปกรณ์นําทางของหน้าจอรายละเอียด นอกจากจะต้องนําร่องต่อไป

function DetailsScreen({ route }) {
 return (
 <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
 <Text>Details Screen</Text>
 </View>
 );
}

วิธีการนําทาง

การนําทางแบบกลับตัวให้วิธีการต่าง ๆ ผ่าน [FLT: 16] อุปกรณ์:

  • [FLT: 0] สืบค้นเมื่อชื่อ, params][FLT: 1) – ย้ายไปยังหน้าจอ โดยจะใช้งานอินสแตนซ์ที่มีอยู่อีกครั้ง ถ้ามันมีอยู่ในกอง
  • [FLT: 0] Pussh(ชื่อ, ชื่อ, params)[FLT: 1) - ผลักดันหน้าจอใหม่ลงบนกองเสมอ แม้ว่าหน้าจอจะเหมือนกันอยู่แล้วในกอง.
  • [FLT: 0].go Package ()[FLT: 1] – นําทางไปยังหน้าจอก่อนหน้าในกอง.
  • [FLT: 0] ที่อยู่ (ชื่อ, params) [[FLT: 1) – แทนหน้าจอปัจจุบันด้วยจอใหม่ ลบปัจจุบันออกจากประวัติศาสตร์
  • [FLT: 0] Recets (รัฐ) – recording the translation States to a enticard.

ตัวอย่างเช่น เพื่อผลักดันตัวอย่างใหม่ของหน้าจอรายละเอียดและผ่านพารามิเตอร์:

navigation.push('Details', { itemId: 42, otherParam: 'anything' });

ผ่านพารามิเตอร์ระหว่างจอภาพ

สามารถส่งต่อข้อมูลไปยังหน้าจอผ่านทางอาร์กิวเมนต์ที่สอง [FLT: 18] หรือ. หน้าจอที่ได้รับเข้าถึงตัวแปรเหล่านี้ผ่าน .

// In HomeScreen
navigation.navigate('Details', { userId: 123 });

// In DetailsScreen
function DetailsScreen({ route }) {
 const { userId } = route.params;
 return <Text>User ID: {userId}</Text>;
}

ตั้งพารามิเตอร์ปริยายโดยใช้ [FLT: 22] บนส่วนประกอบจอ:

<Stack.Screen
 name="Details"
 component={DetailsScreen}
 initialParams={{ itemId: 0 }}
/>

ตัวเลือกการปรับค่าการนําทาง

แต่ละหน้าจอสามารถกําหนดหัวกระดาษ, ไอคอนแท็บ, ป้ายลิ้นชัก เป็นต้นได้ โดยใช้ [FLT: 24] อุปกรณ์ประกอบ หรือ อุปกรณ์ประกอบการนําร่อง (FLT: 26)

ปรับแต่งส่วนหัว

<Stack.Screen
 name="Details"
 component={DetailsScreen}
 options={{
 title: 'Details',
 headerStyle: { backgroundColor: '#f4511e' },
 headerTintColor: '#fff',
 headerTitleStyle: { fontWeight: 'bold' },
 }}
/>

ตัวเลือกไม่ตายตัว สามารถตั้งค่าโดยใช้ฟังก์ชันที่รับ [[FLT: 28]:

options={({ route }) => ({ title: route.params.name })}

ตัวนําทางแท็บ

การนําร่องแท็บ เป็นเรื่องปกติสําหรับส่วนบนของโปรแกรม ติดตั้งตัวนําทางแท็บด้านล่าง:

npm install @react-navigation/bottom-tabs

สร้างแท็บตัวนําร่องแล้วรวมเข้ากับกองของคุณ:

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

คุณสามารถวางแท็บตัวนําร่องภายในตัวนําทางกองหรือย้อนกลับก็ได้ กําหนดใช้แท็บเอง โดยใช้ Proup

ตัววาดแบบวาด

โปรแกรมนําทางแบบลิ้นชักสไลด์จากด้านซ้าย เปิดเผยรายการนําทาง ติดตั้ง:

npm install @react-navigation/drawer

ตั้งค่าตัวอย่าง:

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

ใช้ เพื่อเปิดและปิดโปรแกรมการสอนแบบสอน

ตัวนําทางที่อยู่เป็นรัง

Complex Apps มักจะทําการนําร่องรัง (เช่น แท็บ นําทางภายในกองนําทาง) การนําร่องจะทําหน้าที่จัดการการวางวางไข่อย่างสง่างาม อุปกรณ์ [FLT: 37] ที่ให้กับหน้าจอใด ๆ ก็สามารถเรียกวิธีการของตัวนําร่องได้ตามต้องการ ใช้ เพื่อเข้าถึงวิธีการนําร่องของผู้ปกครอง

ตัวอย่าง: สแต็กที่มีตัวนําแท็บและหน้าจอการตั้งค่าอยู่:

function RootStack() {
 return (
 <Stack.Navigator>
 <Stack.Screen name="Main" component={MainTabs} options={{ headerShown: false }} />
 <Stack.Screen name="Settings" component={SettingsScreen} />
 </Stack.Navigator>
 );
}

การเชื่อมโยงและเชื่อมโยงแบบลึก

การนําทางแบบกลับตัว รองรับการเชื่อมโยงแบบลึกไปยังที่อยู่ URL ที่เปิดหน้าจอเฉพาะ (FLT: 40) Proup :

const linking = {
 prefixes: ['myapp://', 'https://myapp.com'],
 config: {
 screens: {
 Home: 'home',
 Details: 'details/:itemId',
 },
 },
};

<NavigationContainer linking={linking}>
 {/* navigators */}
</NavigationContainer>

จากนั้นให้จัดการที่อยู่ URL ที่เข้ามา ซึ่งจะทําให้คุณสมบัติเช่น การแจ้งการผลักดัน เชื่อมโยงไปยังหน้าจอที่เฉพาะ

การตรวจสอบสิทธิ์Flows

แอพจํานวนมากต้องการการนําทางแบบเงื่อนไข โดยใช้ฐานของสถานะการตรวจสอบสิทธิ์ รูปแบบทั่วไปคือ การสลับตัวตัวนําทางในระดับราก:

function App() {
 const [isSignedIn, setIsSignedIn] = useState(false);

 return (
 <NavigationContainer>
 {isSignedIn ? <AppNavigator /> : <AuthNavigator />}
 </NavigationContainer>
 );
}

หลีก เลี่ยง การ หรี่ หู โดย ทํา ตาม คํา สัญญา หรือ บอก เวลา.

การ ทํา งาน อย่าง ดี ที่ สุด และ การ ฝึก อบรม ที่ ดี ที่ สุด

  • ใช้ [FLT: 0] ตัวนําร่อง (FLT: 1) [FLT: 1] (ไม่ ) เพื่อการทํางานที่ดี และเปลี่ยนแปลงถิ่นฐาน (FLT:44).
  • ลดจํานวนของหน้าจอที่ถูกเมานท์พร้อมกัน การนําทางให้ยกเลิกการเมานท์หน้าจอที่ซ่อนอยู่โดยปริยายแล้ว จะเป็นการเรียกดูกองเรียง แต่จะหมายถึงเครื่องมือเรียกแท็บ คุณสามารถปรับแต่งการโหลดแบบขี้เกียจได้
  • ส่งข้อมูลแบบดั้งเดิม ผ่านตัวแปรเพื่อหลีกเลี่ยงปัญหาต่อเนื่อง
  • ใช้ [FLT: 45] หรือ สําหรับส่วนประกอบหน้าจอที่ re-render บ่อยครั้ง
  • หลีกเลี่ยงการคํานวณอย่างหนักระหว่างการเปลี่ยนแปลงของยาน การทํางานนอกโหลดกับ [FLT: 47].
  • จัดการกับเหตุการณ์ [FLT: 48] เสมอ

รูปแบบการวน

การนําทางแบบอัตโนมัติ การกําหนดเส้นทางให้จัดการการนําร่องในโปรแกรมพื้นเมืองได้โดยวิธี reactacter apps โดยการจัดลําดับ, แท็บ, แท็บ, และรังเดินเรือ พร้อมพารามิเตอร์ที่ผ่าน, เชื่อมโยงแบบลึก, และการตรวจสอบสิทธิ์ คุณสามารถสร้างประสบการณ์เคลื่อนที่ที่ทนทานได้ต่อไป อ้างอิงถึง [FTT: 0] การนําร่อง [FLT: 1] และ[FT] คู่มือการนําร่องภาษา: [FT2] [FL] [FL] ดูเพิ่มเพิ่มเติมที่: [TL] บทความเกี่ยวกับชุมชน: [TV] การนําร่องที่ดีที่สุด [TV] ] ของคุณยังเป็นโครง คุณสามารถช่วยวิกิพีเดียได้โดยเพิ่มข้อมูลการนําร่องเสียงแบบ FTIFFL+2]