วิทยาศาสตร์ และ วิศวกรรม ด้าน วัตถุ
คํา แนะ นํา ครบ ถ้วน เพื่อ การ เดิน ทาง แบบ พื้น เมือง โดย การ เดิน ทาง แบบ กลับ กัน
Table of Contents
แนะนํา
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]