Rumah > Soal Jawab > teks badan
P粉7887656792023-08-18 14:54:31
Apa yang anda mahu lakukan adalah lebih sesuai dengan seni bina aplikasi satu halaman di mana anda mempunyai satu bekas utama yang menyimpan kandungan yang berubah-ubah berdasarkan navigasi, namun, React Navigation direka untuk menyusun skrin dan menavigasi antaranya.
Anda boleh mencipta komponen navigasi tersuai, sebutkan ia NavigationContainer
, yang menyimpan kandungan yang berubah-ubah Komponen ini akan mengurus halaman yang sedang dipaparkan dan memaparkan kandungan dengan sewajarnya, serupa dengan ini:
const NavigationContainer = () => { const [currentPage, setCurrentPage] = useState('Home'); // 默认页面 const navigateTo = (page) => { setCurrentPage(page); }; const renderContent = () => { switch (currentPage) { case 'Home': return <HomeContent />; case 'Profile': return <ProfileContent />; // 添加更多不同页面的情况 default: return null; } }; return ( <View style={{ flex: 1 }}> <CustomNavBar navigateTo={navigateTo} /> {renderContent()} </View> ); }; export default NavigationContainer;
CustomNavBar
ialah komponen lain yang mengandungi butang atau pautan untuk setiap halaman. CustomNavBar
是另一个包含每个页面按钮或链接的组件。
当按下按钮/链接时,它将调用navigateTo
函数,该函数从其父组件即NavigationContainer
接收为props,以更新那里的currentPage
Apabila butang/pautan ditekan, ia memanggil fungsi navigateTo
yang diterima sebagai prop daripada komponen induknya iaitu
currentPage
di sana: const CustomNavBar = ({ navigateTo }) => { return ( <View> <TouchableOpacity onPress={() => navigateTo('Home')}> <Text>Home</Text> </TouchableOpacity> <TouchableOpacity onPress={() => navigateTo('Profile')}> <Text>Profile</Text> </TouchableOpacity> // 添加更多按钮/链接以供其他页面使用 </View> ); }; export default CustomNavBar;
Anda harus melaksanakan pautan dalam untuk navigasi berasaskan URL yang lebih baik, yang akan membolehkan pengguna menavigasi terus ke halaman tertentu menggunakan URL Selain itu, anda perlu mengendalikan penghalaan, animasi dan peralihan secara manual jika diperlukan.