0Pricing
React Academy · Pelajaran

Komponen Inti React Native vs DOM Web

Petakan View/Text/Image/ScrollView ke padanan DOM-nya dan pahami model jembatannya.

Komponen Inti React Native vs DOM Web adalah pelajaran React Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar React Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus React Academy mencakup 4 pelajaran total.

Mengapa Tidak Ada HTML di React Native?

React Native merender ke komponen antarmuka pengguna asli iOS dan Android, bukan ke DOM peramban. Tidak ada <div>, <p>, atau <img> — setiap platform memiliki primitif aslinya sendiri.

Tampilan — Padanan div

View adalah wadah tata letak paling dasar di React Native. Komponen ini dipetakan ke UIView di iOS dan android.view.View di Android. Anggaplah komponen ini sebagai <div> yang tidak dapat menampung teks secara langsung.

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

function Card() {
  return (
    <View style={styles.card}>
      {/* children go here */}
    </View>
  );
}

const styles = StyleSheet.create({ card: { padding: 16, borderRadius: 8 } });

Teks — Padanan p/span

Text diperlukan untuk teks apa pun yang terlihat. Berbeda dari web, Anda tidak dapat menempatkan string secara langsung di dalam View — string harus dibungkus dalam <Text>.

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

function Greeting() {
  return (
    <View>
      <Text style={{ fontSize: 24, fontWeight: 'bold' }}>Hello!</Text>
      <Text>Welcome to React Native.</Text>
    </View>
  );
}

Gambar — Padanan img

Image merender gambar. Gunakan properti source dengan require() untuk aset lokal atau objek { uri: '...' } untuk gambar dari jaringan.

import { Image } from 'react-native';

// Local asset:
<Image source={require('./assets/logo.png')} style={{ width: 100, height: 100 }} />

// Network image (must provide dimensions):
<Image source={{ uri: 'https://example.com/photo.jpg' }} style={{ width: 200, height: 150 }} />

ScrollView — Padanan overflow:scroll

ScrollView adalah wadah yang dapat digulir. Berbeda dari web, Anda harus menggunakannya secara eksplisit — View tidak dapat menggulir. Untuk daftar panjang, pilih FlatList.

import { ScrollView, Text } from 'react-native';

function Article({ paragraphs }) {
  return (
    <ScrollView>
      {paragraphs.map((p, i) => <Text key={i}>{p}</Text>)}
    </ScrollView>
  );
}

FlatList — Daftar Tervirtualisasi

FlatList hanya merender item yang terlihat dan menggunakan kembali item di luar layar — hal ini penting untuk performa dengan kumpulan data besar.

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

function UserList({ users }) {
  return (
    <FlatList
      data={users}
      keyExtractor={u => u.id}
      renderItem={({ item }) => <Text>{item.name}</Text>}
    />
  );
}

TouchableOpacity — Padanan button

TouchableOpacity (dan Pressable pada RN versi lebih baru) menambahkan umpan balik sentuhan ke tampilan apa pun. Properti onPress menangani ketukan.

import { TouchableOpacity, Text } from 'react-native';

function Button({ onPress, title }) {
  return (
    <TouchableOpacity onPress={onPress} activeOpacity={0.7}>
      <Text>{title}</Text>
    </TouchableOpacity>
  );
}

TextInput — Padanan input

TextInput adalah kolom masukan terkontrol. Komponen ini mendukung value, onChangeText, placeholder, dan berbagai jenis papan ketik.

import { TextInput, useState } from 'react-native';

function SearchBar() {
  const [query, setQuery] = useState('');
  return (
    <TextInput
      value={query}
      onChangeText={setQuery}
      placeholder="Search..."
      keyboardType="default"
    />
  );
}

ActivityIndicator — Pemutar Pemuatan

ActivityIndicator adalah pemutar pemuatan asli. Di iOS, bentuknya pemutar lingkaran; di Android, bentuknya indikator kemajuan lingkaran Material.

import { ActivityIndicator, View } from 'react-native';

<View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
  <ActivityIndicator size="large" color="#4f46e5" />
</View>

SafeAreaView

SafeAreaView secara otomatis menambahkan padding untuk poni perangkat, bilah status, dan indikator beranda di iOS dan Android.

import { SafeAreaView } from 'react-native-safe-area-context';

export default function App() {
  return (
    <SafeAreaView style={{ flex: 1 }}>
      <MyScreen />
    </SafeAreaView>
  );
}

Dialog

Modal merender lapisan di atas aplikasi. Properti visible mengontrol apakah lapisan tersebut ditampilkan.

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

<Modal visible={showModal} animationType="slide" transparent={true}>
  <View style={styles.overlay}>
    <View style={styles.dialog}>
      <Text>Are you sure?</Text>
    </View>
  </View>
</Modal>

Pemeriksaan Singkat

Komponen React Native apa yang wajib Anda gunakan untuk menampilkan teks apa pun di layar?

Ringkasan

React Native memetakan konsep web ke komponen asli: View (div), Text (p), Image (img), ScrollView, FlatList (daftar tervirtualisasi), TextInput (input), dan TouchableOpacity (button). Selalu gunakan SafeAreaView untuk tata letak akar.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Komponen Inti React Native vs DOM Web” gratis?

Ya — teks lengkap “Komponen Inti React Native vs DOM Web” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus React Academy, upgrade ke CoddyKit PRO. Kursus React Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Komponen Inti React Native vs DOM Web”?

Petakan View/Text/Image/ScrollView ke padanan DOM-nya dan pahami model jembatannya. Kamu berlatih React Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai React Academy?

Tidak diperlukan pengalaman sebelumnya. React Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.

Berapa lama pelajaran “Komponen Inti React Native vs DOM Web” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran React Academy ini?

Ya. Setiap pelajaran React Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Komponen Inti React Native vs DOM Web
  2. Penataan Gaya dengan API StyleSheet & Flexbox
  3. Navigasi dengan Expo Router
  4. Mengakses API Perangkat: Kamera, Lokasi & Notifikasi Push
← Kembali ke React Academy