SlideShare a Scribd company logo
1 of 31
Download to read offline
Beginners guide to React and Redux
Trimikha Valentius
Senior	Developer	@	Ogilvy	Australia	
Co-initiator/organizer	@	BaliJS	
	
Bekraf	Developer	Day	–	Bali,	May	2017
Apa itu React?
React
React	adalah	library	Javascript	untuk	membuat	User	
Interface.	
•  Virtual	DOM	
•  Fokus	ke	UI/View,	bukan	sebuah	framework		
•  One	way	data	flow
Virtual DOM
DOM	API	is	slow.	
(akan	terlihat	penurunan	performance	ketika	kita	
mencoba	me-render	ulang	DOM)
Virtual DOM
Source:	http://teropa.info/blog/2015/03/02/change-and-its-detection-in-javascript-frameworks.html
Virtual DOM
Source:	http://teropa.info/blog/2015/03/02/change-and-its-detection-in-javascript-frameworks.html
Manfaat Virtual DOM
•  Read/write	operations	hanya	per-bagian.	
•  Sub-tree	update	yang	efisien.	
•  Meng-improve	performa	secara	general
Contoh Syntax
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<script src="main.js"></script>
</head>
<body>
<div id="example"></div>
</body>
</html>
index.html
Contoh Syntax 2
import React from 'react';
import ReactDOM from 'react-dom';
const exampleElement = document.getElementById('example');
ReactDOM.render(<h1>Halo, Bali!</h1>, exampleElement);
main.js
JSX
JSX	adalah	syntax	tambahan	pada	Javascript,	yang	
mirip	dengan	XML/HTML		
// Input (JSX):
var app = <Nav color="blue" />;
// Output (JS):
var app = React.createElement(Nav, {color:"blue"});
Merender Component
main.js	
import React from 'react';
import ReactDOM from 'react-dom';
const App = () => {
return (<p>Halo, Bali!</p>);
}
const exampleNode = document.getElementById('example');
ReactDOM.render(<App />, exampleNode);
Merender Component
Index.html	
<body>
<div id="example">
<p> <!-- App start -->
Hello World!
</p> <!-- App end -->
</div>
</body>
Component terpisah
profile.js	
import React from 'react';
const Profile = ({avatar, name}) => {
return (
<div>
<img src={avatar} />
<span>{name}</span>
</div>
);
}
Component terpisah 2
main.js	
import React from 'react';
import ReactDOM from 'react-dom';
import Profile from ‘./profile';
const App = () => {
return (
<div>
<h1>Halo, Bali!</h1>
<Profile avatar="http://test.png" name="Trimikha" />
</div>
);
}
const exampleNode = document.getElementById('example');
ReactDOM.render(<App />, exampleNode);
Component terpisah 3
Index.html	
<body>
<div id="example">
<div> <!-- App start -->
<h1>Hello World!</h1>
<div> <!-- Profile start -->
<img src="http://test.png" />
<span>Trimikha</span>
</div> <!-- Profile end -->
</div> <!-- App end -->
</div>
</body>
Stateless Function Components
Functional	Programming:	
-	hindari	changing-state	
-	hindari	mutable	data	
-	Memanggil	fungsi	lebih	dari	satu	kali	dengan	
argumen	yang	sama	akan	menghasilkan	hasil	
yang	sama
Manfaat functional programming
	
-	Mudah	dimengerti	
-	Mudah	untuk	di	test
Kesimpulan React
	
-  Kita	bisa	membuat	component	kita	sendiri	
-  Functional	programming	
-  Semua	aktifitas	code	di	kendalikan	di	JS
Apa itu Redux?
Redux
	
Redux	memungkinkan	kita	untuk	me-manage	state	
dengan	minimal	API	tapi	dan	mudah	untuk	
dimengerti.
Redux Flow
Siapa saja yang menggunakan?
React
-	Facebook,	Firefox,	Airbnb	,	Instagram,	dll	
Redux
-	Firefox,	Docker,	Airbnb,	Zapier,	dll
Kapan menggunakan React?
Web	App	
Interactive	App	
Web	dengan	feature	yang	dinamis	&	Real	time
Kapan tidak menggunakan React?
Web	Statis	
Landing	Page	
Website	Berita	(News	site)
Link yang bermanfaat
•  https://github.com/facebookincubator/create-
react-app	
•  https://redux.js.org	
•  https://facebook.github.io/react/
BaliJS	Meetup
Terima Kasih
Matur Suksma!
https://github.com/tvalentius	
http://tvalentius.com/	
	
https://www.meetup.com/BaliJS/	
https://web.facebook.com/BaliJS	
	
BaliJS Meetup

More Related Content

Similar to Beginners Guide to React and Redux

Pengenalan web design dan programming
Pengenalan web design dan programmingPengenalan web design dan programming
Pengenalan web design dan programming
FrisianlllllllFlag
 
Tugas 1 rek web (lingga eka pradipta, 1411501073, ka)
Tugas 1 rek web (lingga eka pradipta, 1411501073, ka)Tugas 1 rek web (lingga eka pradipta, 1411501073, ka)
Tugas 1 rek web (lingga eka pradipta, 1411501073, ka)
LinggaDipta
 
Tugas 1 rek web (lingga eka pradipta, 1411501073, kb)
Tugas 1 rek web (lingga eka pradipta, 1411501073, kb)Tugas 1 rek web (lingga eka pradipta, 1411501073, kb)
Tugas 1 rek web (lingga eka pradipta, 1411501073, kb)
LinggaDipta
 

Similar to Beginners Guide to React and Redux (20)

Workshop SuBali - CodeIgniter
Workshop SuBali - CodeIgniterWorkshop SuBali - CodeIgniter
Workshop SuBali - CodeIgniter
 
SESI 3 FE.pptx
SESI 3 FE.pptxSESI 3 FE.pptx
SESI 3 FE.pptx
 
Aitindo Sharing Session
Aitindo Sharing SessionAitindo Sharing Session
Aitindo Sharing Session
 
Pelajaran jsp smk XI RPL
Pelajaran jsp smk XI RPLPelajaran jsp smk XI RPL
Pelajaran jsp smk XI RPL
 
Pengenalan web design dan programming
Pengenalan web design dan programmingPengenalan web design dan programming
Pengenalan web design dan programming
 
Laporan tugas besar_web
Laporan tugas besar_webLaporan tugas besar_web
Laporan tugas besar_web
 
Tugas 1 rek web (lingga eka pradipta, 1411501073, ka)
Tugas 1 rek web (lingga eka pradipta, 1411501073, ka)Tugas 1 rek web (lingga eka pradipta, 1411501073, ka)
Tugas 1 rek web (lingga eka pradipta, 1411501073, ka)
 
Tugas 1 0317 individu
Tugas 1 0317 individuTugas 1 0317 individu
Tugas 1 0317 individu
 
Tugas 1 rek web (lingga eka pradipta, 1411501073, kb)
Tugas 1 rek web (lingga eka pradipta, 1411501073, kb)Tugas 1 rek web (lingga eka pradipta, 1411501073, kb)
Tugas 1 rek web (lingga eka pradipta, 1411501073, kb)
 
Jeni Web Programming Bab 4 Dasar Jsp
Jeni Web Programming Bab 4 Dasar JspJeni Web Programming Bab 4 Dasar Jsp
Jeni Web Programming Bab 4 Dasar Jsp
 
Tugas 3
Tugas 3Tugas 3
Tugas 3
 
Probolinggo Developer Meetup (Oct 18)
Probolinggo Developer Meetup (Oct 18)Probolinggo Developer Meetup (Oct 18)
Probolinggo Developer Meetup (Oct 18)
 
JQURTY
JQURTYJQURTY
JQURTY
 
Jquery ppt
Jquery pptJquery ppt
Jquery ppt
 
Chapter 1 perkenalan code igniter 2.0
Chapter 1 perkenalan code igniter 2.0Chapter 1 perkenalan code igniter 2.0
Chapter 1 perkenalan code igniter 2.0
 
Tugas 4 rekayasa web (0916)
Tugas 4   rekayasa web (0916)Tugas 4   rekayasa web (0916)
Tugas 4 rekayasa web (0916)
 
Frame work php
Frame work phpFrame work php
Frame work php
 
Ppt jquery
Ppt jqueryPpt jquery
Ppt jquery
 
Jquery ppt
Jquery pptJquery ppt
Jquery ppt
 
Tugas 3 – 0317 (individu)
Tugas 3 – 0317 (individu)Tugas 3 – 0317 (individu)
Tugas 3 – 0317 (individu)
 

Beginners Guide to React and Redux