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ạ style và layout trong React Native với màn hình mobile, spacing và typography

Style và Layout trong React Native: nền móng để dựng UI mobile

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

Sau khi đã hiểu component, props, state và hooks, bước tiếp theo rất tự nhiên là học style và layout. Đây là phần quyết định app của bạn trông có “ra mobile” hay không. Một màn hình có logic đúng nhưng spacing lệch, chữ khó đọc, nút khó bấm thì trải nghiệm vẫn chưa ổn.

React Native không dùng CSS file như web truyền thống. Bạn vẫn viết các thuộc tính quen thuộc như backgroundColor, padding, fontSize, nhưng chúng được khai báo bằng object JavaScript và gắn vào component qua prop style.

Style trong React Native khác CSS web thế nào?

Điểm khác dễ thấy nhất là tên thuộc tính dùng camelCase. Ví dụ background-color trên web trở thành backgroundColor, font-size trở thành fontSize. Giá trị số thường được hiểu là density-independent pixels, nên bạn không cần viết px.

import { StyleSheet, Text, View } from 'react-native';

function WelcomeCard() {
  return (
    <View style={styles.card}>
      <Text style={styles.title}>React Native</Text>
      <Text style={styles.subtitle}>Dựng UI mobile bằng component và style.</Text>
    </View>
  );
}

const styles = StyleSheet.create({
  card: {
    padding: 16,
    borderRadius: 12,
    backgroundColor: '#ffffff',
  },
  title: {
    fontSize: 22,
    fontWeight: '700',
    color: '#111827',
  },
  subtitle: {
    marginTop: 8,
    fontSize: 15,
    lineHeight: 22,
    color: '#6b7280',
  },
});

View, Text và Image là ba nền móng

View giống một khối container. Bạn dùng nó để nhóm các phần giao diện, tạo nền, padding, border, layout. Text dùng cho chữ. Trong React Native, mọi chữ hiển thị phải nằm trong Text. Image dùng cho ảnh local hoặc ảnh từ URL.

Người mới hay mắc lỗi đặt text trực tiếp trong View, hoặc cố dùng tư duy div/span từ web. Hãy tập nghĩ bằng bộ core component của React Native trước, rồi sau đó mới tạo custom component như ArticleCard, PrimaryButton, ProfileHeader.

Spacing quan trọng hơn bạn nghĩ

UI mobile dễ đọc thường bắt đầu từ spacing tốt. Thay vì đặt margin/padding lung tung, hãy dùng một hệ spacing đơn giản: 4, 8, 12, 16, 24, 32. Khi cả app dùng cùng nhịp spacing, màn hình nhìn gọn hơn và dễ bảo trì hơn.

const spacing = {
  xs: 4,
  sm: 8,
  md: 16,
  lg: 24,
  xl: 32,
};

Bạn không cần tạo design system lớn ngay từ đầu. Chỉ cần thống nhất vài con số và dùng lại nhất quán, UI đã bớt rối rất nhiều.

Đừng style tất cả inline

Inline style tiện cho thử nhanh, nhưng nếu dùng quá nhiều, component sẽ dài và khó đọc. Với style dùng nhiều lần hoặc style có nhiều thuộc tính, hãy đưa vào StyleSheet.create.

// Tạm ổn khi thử nhanh
<Text style={{ fontSize: 18, fontWeight: '700' }}>Tiêu đề</Text>

// Dễ bảo trì hơn khi UI lớn lên
<Text style={styles.title}>Tiêu đề</Text>

Layout nên bắt đầu từ nội dung

Trước khi viết style, hãy nhìn màn hình và chia thành các vùng: header, content, action, footer. Sau đó mỗi vùng lại chia thành các component nhỏ hơn. Cách này giúp bạn tránh tình trạng “chỉnh từng pixel” mà không biết cấu trúc tổng thể đang đi đâu.

Lỗi thường gặp

Lỗi đầu tiên là bê nguyên CSS web sang React Native. Lỗi thứ hai là thiếu spacing nhất quán. Lỗi thứ ba là đặt quá nhiều style inline. Lỗi thứ tư là không test trên nhiều kích thước màn hình, khiến UI đẹp ở máy này nhưng vỡ ở máy khác.

Kết luận

Style và layout là nền móng để React Native app nhìn chuyên nghiệp. Hãy bắt đầu bằng core component, StyleSheet, spacing nhất quán và cấu trúc màn hình rõ ràng. Khi nền này ổn, Flexbox sẽ trở thành công cụ rất mạnh thay vì một thứ gây đau đầu.

Nguồn tham khảo: React Native: Style, View, Text, Image.

SummarizeShare234
admin

admin

Related Stories

Minh họa ứng dụng React Native kết nối nhiều SDK như analytics, maps, authentication, payment và push notification

Tích hợp SDK trong React Native: quy trình thực chiến từ cài đặt đến release

by admin
28/08/2026
2

Hướng dẫn tích hợp SDK trong React Native: cấu hình Android, iOS, API key, permission, adapter, Analytics, Crashlytics, Maps, Payment, Auth và checklist release.

Minh họa Firebase Cloud Messaging gửi push notification tới ứng dụng React Native trên Android và iOS

Hướng dẫn tích hợp Firebase Cloud Messaging (FCM) vào React Native từ A-Z

by admin
02/08/2026
0

Hướng dẫn tích hợp Firebase Cloud Messaging vào React Native từ A-Z: Android, iOS/APNs, quyền notification, FCM token, foreground, background và backend.

Minh họa các hook nâng cao trong React Native kết nối với ứng dụng mobile

Các hook nâng cao trong React Native: dùng đúng để code gọn và tối ưu hiệu năng

by admin
30/07/2026
0

Hướng dẫn chi tiết các hook nâng cao trong React Native: useReducer, useContext, useMemo, useCallback, useRef, transition, custom hook và tối ưu hiệu năng.

Ảnh minh họa bài phỏng vấn Senior React Native

Tổng hợp 50 câu hỏi/trả lời phỏng vấn Senior React Native

by admin
27/07/2026
0

50 câu hỏi phỏng vấn Senior React Native bằng tiếng Việt về technical leadership, architecture, performance, release strategy, observability, security và mentoring.

Next Post
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

0 0 votes
Article Rating
Subscribe
Login
Notify of
guest
guest
0 Comments
Oldest
Newest Most Voted
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

  • Các khái niệm cơ bản trong AI: AI, Machine Learning, Deep Learning và GenAI
  • Tích hợp SDK trong React Native: quy trình thực chiến từ cài đặt đến release
  • Hướng dẫn tích hợp Firebase Cloud Messaging (FCM) vào React Native từ A-Z

Categories

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

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.

wpDiscuz
0
0
Would love your thoughts, please comment.x
()
x
| Reply