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.2k
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 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ạ đ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

by admin
22/07/2026
0

Hiểu screen, stack, tab, params và cách dùng React Navigation để chuyển giữa các màn hình trong app React Native.

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.

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

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.