aedev.net
  • Trang chủ
  • AI
  • Mobile
  • Flutter
  • React Native
  • Backend
  • DevOps
  • Hướng dẫn
No Result
View All Result
SAVED POSTS
aedev.net
  • Trang chủ
  • AI
  • Mobile
  • Flutter
  • React Native
  • Backend
  • DevOps
  • Hướng dẫn
No Result
View All Result
aedev.net
No Result
View All Result
Minh hoạ điều hướng giữa các màn hình trong React Native bằng stack và tab

Navigation giữa các màn hình trong React Native cho người mới

admin by admin
22/07/2026
in Lập trình Mobile, React Native
0
585
SHARES
3.2k
VIEWS
Summarize with ChatGPTShare to Facebook

Một app mobile thật hiếm khi chỉ có một màn hình. Bạn sẽ có màn hình Home, Detail, Profile, Settings, Login, Register. Vì vậy sau khi biết dựng UI, danh sách và form, bước tiếp theo là học navigation.

Trong hệ sinh thái React Native, thư viện phổ biến nhất cho navigation là React Navigation. Nó cung cấp các kiểu điều hướng quen thuộc như stack, tab và drawer.

Screen là gì?

Screen là một component đại diện cho một màn hình đầy đủ trong app. Ví dụ HomeScreen, ArticleDetailScreen, ProfileScreen. Navigation giúp bạn chuyển từ screen này sang screen khác.

Stack navigation

Stack giống một chồng màn hình. Khi bạn mở detail từ danh sách, detail được đặt lên trên Home. Khi bấm back, detail được lấy ra và bạn quay lại Home.

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

const Stack = createNativeStackNavigator();

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

Đây là cấu trúc tối giản. App thật có thể tách navigator ra file riêng để dễ quản lý.

Chuyển màn hình với navigate

function HomeScreen({ navigation }) {
  return (
    <Button
      title="Xem bài viết"
      onPress={() => navigation.navigate('ArticleDetail')}
    />
  );
}

navigation.navigate đưa người dùng sang screen có tên tương ứng.

Truyền params sang màn hình khác

Trong app blog, khi bấm vào một bài viết, màn hình detail cần biết bài nào được chọn. Bạn có thể truyền articleId qua params.

navigation.navigate('ArticleDetail', {
  articleId: article.id,
});

Ở màn hình detail, đọc params từ route.

function ArticleDetailScreen({ route }) {
  const { articleId } = route.params;
  return <Text>Article ID: {articleId}</Text>;
}

Tab navigation dùng khi nào?

Tab phù hợp cho các phần chính của app mà người dùng chuyển qua lại thường xuyên, như Home, Search, Saved, Profile. Stack phù hợp cho luồng đi sâu, như list → detail → edit.

Nhiều app kết hợp cả hai: bên ngoài là tab, bên trong mỗi tab có stack riêng. Với người mới, hãy học stack trước, sau đó học tab.

Lỗi thường gặp

Lỗi đầu tiên là đặt tên screen không nhất quán. Lỗi thứ hai là truyền quá nhiều dữ liệu qua params thay vì chỉ truyền ID rồi fetch/lookup dữ liệu. Lỗi thứ ba là để toàn bộ navigation trong một file khổng lồ. Lỗi thứ tư là chưa nghĩ rõ screen nào thuộc stack, screen nào thuộc tab.

Kết luận

Navigation biến các màn hình rời rạc thành một app có luồng sử dụng thật. Hãy bắt đầu với stack, hiểu navigate, route.params và nút back. Khi đã quen, bạn có thể thêm tab, auth flow và nested navigator.

Nguồn tham khảo: React Navigation: Getting Started, Hello React Navigation, Passing Parameters.

SummarizeShare234
admin

admin

Related Stories

Minh hoạ React Native gọi API và hiển thị loading error empty success state

Gọi API trong React Native: loading, error và empty state

by admin
22/07/2026
0

Học cách gọi API bằng fetch trong React Native và hiển thị đầy đủ loading, error, empty và success state để UI dễ dùng hơn.

Minh hoạ form TextInput validation và keyboard trong React Native

Form cơ bản với TextInput trong React Native

by admin
22/07/2026
0

Học cách tạo form cơ bản trong React Native bằng TextInput, state, validation đơn giản, submit button và xử lý keyboard-friendly layout.

Minh hoạ FlatList hiển thị danh sách bài viết trong React Native

Xây màn hình danh sách với FlatList trong React Native

by admin
22/07/2026
0

FlatList là component quan trọng để hiển thị danh sách dài trong React Native. Bài này hướng dẫn render item, keyExtractor, empty và loading state.

Minh hoạ Flexbox trong React Native với row column justifyContent và alignItems

Flexbox trong React Native cho người mới: row, column và căn chỉnh UI

by admin
22/07/2026
0

Flexbox là cách chính để bố trí layout trong React Native. Bài này giải thích flexDirection, justifyContent, alignItems và flex bằng ví dụ dễ hiểu.

Next Post
Minh hoạ React Native gọi API và hiển thị loading error empty success state

Gọi API trong React Native: loading, error và empty state

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

AE Dev

AE Dev mang đến các bài viết về lập trình, mobile app, backend, frontend, WordPress và công nghệ, phù hợp cho developer muốn học hỏi và cập nhật kiến thức thực tế.

Recent Posts

  • Gọi API trong React Native: loading, error và empty state
  • Navigation giữa các màn hình trong React Native cho người mới
  • Form cơ bản với TextInput trong React Native

Categories

  • AI
  • Backend
  • Đánh giá
  • DevOps
  • Flutter
  • Hướng dẫn
  • Lập trình Mobile
  • React Native

Weekly Newsletter

  • Buy JNews
  • Support Forum
  • Pre-sale Question
  • Contact Us

© 2026 AE Dev - Blog công nghệ, lập trình và chia sẻ kiến thức IT.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In
No Result
View All Result
  • Trang chủ
  • AI
  • Mobile
  • React Native
  • Backend
  • DevOps
  • Hướng dẫn
  • Flutter

© 2026 AE Dev - Blog công nghệ, lập trình và chia sẻ kiến thức IT.