Hari 25: Icon pada React Native

Search for a command to run...

No comments yet. Be the first to comment.
Belajar full stack JavaScript selama ramadhan tahun 2021 - Javascript Dasar - Javascript Backend - Javascript Frontend - Javascript Mobile https://youtu.be/gf_Fssu623U
Pada series ini kita akan membahas konsep authentikasi pada React Native. Proses login akan terjadi jika user telah terdaftar, kemudian memasukkan akun misal email dan password, jika berhasil login maka simpan token pada storage. Login Langsung saja,...
Waktu dapet kerjaan pertama sebagai front-end dev di dusdusaan.com (2019), aku dikasih project pake React, seingat gue aplikasinya tentang reseller dimana fitur yg saya kerjakan adalah tentang point dan event para reseller. Jujur aja, waktu itu aku b...

Awal mula gue pake TypeScript itu sebenernya bukan karena inisiatif sendiri, tapi karena kepepet. Waktu itu kantor lagi ngembangin dashboard chatbot buat tim CS, dan project-nya udah jalan duluan pake TypeScript. Gue yang baru masuk tim, langsung dis...

Javascript

Terkadang kita mendapatkan data bilangan misal response saat nge-hit API ke backend kita sendiri atau saat menggunakan third-party API anggap saja Xendit atau Midtrans tetapi berbentuk string. Seperti contoh dibawah ini. { "data": { "total_bela...

Cerita Mentor

Icon akan sangat membantu memperjelas maksud dari sebuah aplikasi, misal gambar rumah untuk menyatakan home. Sehingga dengan cepat pengguna tau maksud dari fitur atau menu yang terdapat pada aplikasi.
Install library icon dengan perintah berikut.
npm i react-native-vector-icons
Kemudian tambahkan kode berikut pada file android/app/build.gradle, INGAT bukan pada fileandroid/build.gradle.
apply from: "../../node_modules/react-native-vector-icons/fonts.gradle"
Untuk menguji, apakah icon yang kita install berhasil terimplementasi, mari ubah kode file RouterApp.js menjadi seperti berikut.
import React from "react";
import { Container, Text, Footer, View, Icon } from "native-base";
import { NativeRouter, Route, Link } from "react-router-native";
import Home from "./pages/Home";
import About from "./pages/About";
const RouterApp = () => {
return (
<NativeRouter>
<Container>
<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
<Footer>
<Link to="/" underlayColor="blue" style={{ flex: 1 }}>
<View
style={{
flex: 1,
justifyContent: "center",
alignItems: "center",
}}
>
<Icon name="home" style={{ color: "white" }} />
<Text style={{ color: "white" }}>Home</Text>
</View>
</Link>
<Link to="/about" underlayColor="blue" style={{ flex: 1 }}>
<View
style={{
flex: 1,
justifyContent: "center",
alignItems: "center",
}}
>
<Icon name="person" style={{ color: "white" }} />
<Text style={{ color: "white" }}>About</Text>
</View>
</Link>
</Footer>
</Container>
</NativeRouter>
);
};
export default RouterApp;
Sehingga hasilnya akan seperti berikut.
![]()
Pada materi react js, kita telah membahas REDUX, materi ini tidak berbeda pada react native maupun react js, untuk itu silahkan baca kembali materi sebelumnya dan sesuaika pada react native.
Baca series redux sebelumnya disini
Setelah disesuaikan dengan materi redux, ubah file pages/Home.js menjadi seperti berikut.
import React, { useEffect } from "react";
import {
Container,
Header,
Body,
Title,
Content,
Text,
Spinner,
Card,
CardItem,
Left,
Thumbnail,
Image,
Button,
Icon,
Right,
Item,
} from "native-base";
import { useDispatch, useSelector } from "react-redux";
import { getUsers } from "../actions/user.action";
const Home = (props) => {
const dispatch = useDispatch();
const usersData = useSelector((state) => state.users);
useEffect(() => {
dispatch(getUsers());
}, []);
return (
<Container>
<Header>
<Body>
<Title>Home</Title>
</Body>
</Header>
<Content>
{usersData.isLoading && <Spinner color="blue" />}
{usersData.isError && <Spinner color="red" />}
{usersData.data.map((item, index) => (
<Card key={index}>
<CardItem>
<Left>
<Thumbnail source={{ uri: item.picture }} />
<Body>
<Text> {item.name} </Text>
<Text note> {item.label} </Text>
</Body>
</Left>
</CardItem>
</Card>
))}
</Content>
</Container>
);
};
export default Home;
Hasilnya akan terlihat seperi berikut.
