Terakhir diperbarui: 2021-04-26
Penulis: Habibie Ed Dien, S.Kom., M.T.
Pada codelab ini Anda akan mempelajari tentang penggunaan Firebase di ReactJS.
Sebelum memulai codelab ini, sebaiknya Anda memiliki pengetahuan dasar tentang:
Firebase adalah produk dari Google yang menyediakan fasilitas untuk berbagai platform mulai dari autentikasi, penyimpanan, machine learning, dan lain sebagainya.
Pada codelab kali ini, kita akan belajar untuk mengintegrasikan aplikasi React dengan firebase. Kita akan membuat fitur Register dan Login menggunakan fasilitas yang disediakan oleh firebase.
Silakan lanjutkan ke langkah berikutnya untuk memulai praktikum pada codelab ini.
Pada praktikum ini, kita akan membuat form register yang nantinya akan dihubungkan langsung dengan firebase. Silakan lakukan langkah-langkah praktikum berikut ini.
Register.js
dalam folder src/components
, lalu buat function Register
.function Register(){
...
}
function Register()
seperti berikut.Register.js
.AuthContext
di src/App.js
seperti berikut.export const AuthContext = React.createContext(null);
function Register()
.return (
<div>
<h1>Register</h1>
<form onSubmit={e => handleForm(e)}>
<input
value={email}
onChange={e => setEmail(e.target.value)}
name="email"
type="email"
placeholder="email"
/>
<input
value={password}
onChange={e => setPassword(e.target.value)}
name="password"
type="password"
placeholder="password"
/>
<hr />
<button className="googleBtn" type="button">
<img
src="https://upload.wikimedia.org/wikipedia/commons/5/53/Google_%22G%22_Logo.svg"
alt="logo"
/>
Register With Google
</button>
<button type="submit">Register</button>
<span>{error}</span>
</form>
</div>
);
handleForm
pada komponen Register yang sementara isinya seperti berikut. Nanti kita akan ganti dengan fungsi firebase.function Register()
perlu ditambahkan sintaks export agar dapat digunakan pada file App.js
nantinya.export default Register;
Header
yang berfungsi untuk menampilkan menu Register dan Login. Buat file Header.js
di src/components
. Isinya sebagai berikut.routes.js
di folder src/components
.src/App.js
yang menentukan tampilan render pada aplikasi React kita.src/App.js
import React, { useState } from 'react';
import { Route, BrowserRouter as Router, Switch } from 'react-router-dom';
import Header from './components/Header';
import routes from './components/routes';
import './App.css';
App.css
..App {
font-family: sans-serif;
padding: 50px;
}
h1 {
margin: 0 0 25px 0;
text-align: left;
}
form {
display: flex;
flex-direction: column;
}
input {
max-width: 450px;
width: auto;
border: none;
margin: 0 0 25px 0;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
padding: 10px;
}
button {
max-width: 450px;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
border: none;
padding: 7px;
text-align: center;
cursor: pointer;
}
button[type="submit"] {
background-color: #4c566a;
color: white;
font-size: 14px;
font-weight: 900;
border-radius: 5px;
text-transform: uppercase;
padding: 15px;
}
.googleBtn img {
width: 16px;
height: 16px;
padding: 0;
margin: 0 5px;
vertical-align: middle;
}
.nav {
display: flex;
text-decoration: none;
list-style-type: none;
justify-content: flex-start;
margin: 0 0 50px;
padding: 0;
}
.nav li {
margin: 0 10px;
}
Melanjutkan dari praktikum 1, kita akan membuat form login. Silakan lakukan langkah-langkah praktikum berikut ini.
src/components/Login.js
yang isinya sama persis dengan komponen Register.js
hanya saja berbeda teks pada bagian return
.src/components/routes.js
kita tambahkan komponen Login
Pada praktikum kali ini, kita akan menghubungkan form Registerd dan Login dengan Firebase. Silakan lakukan langkah-langkah praktikum berikut ini.
npm install --save firebase
src
yang kita beri nama firebase.config.js
(gambar dibawah adalah contoh, sesuaikan script yang anda dapat dari firebase).Paste di src/firebase.config.js
src/App.js
lalu inisiasi dengan konfigurasi firebase yang sudah didapat dari web firebase tadi. src/components/Register.js
lakukan tambahan import firebase
dan ubah isi handleForm
seperti berikut.Kemudian ada tambahan data di web firebase seperti berikut.
src/components/Login.js
lalu tambahkan import firebase
dan isi handleForm
diganti seperti berikut.Selamat, Anda telah berhasil menyelesaikan codelab ini. Semoga mendapatkan ilmu yang bermanfaat.
Silakan cek beberapa sumber belajar lainnya...