Sedikit
informasi, pada dasarnya setiap bahasa pemrograman atau framework itu memiliki
documentation. Jadi sebenarnya kita cukup belajar dari docs nya itu sudah cukup
karena lumayan lengkap. Tetapi tidak menutup kemungkinan kita juga perlu
belajar dari tutorial lain atau dari pengalaman seseorang, karena itu juga
penting untuk menambah wawasan dan juga mengetahui problem solving. Oke
langsung saja kita mulai.
PROPS
Jika kita
merujuk pada docs react native maka props ini adalah sebagai berikut :
Jadi bisa
dibilang bahwa props ini merupakan sebuah parameter default yang dimiliki oleh
suatu komponen. Agar lebih memahaminya, yuk mari kita coba.
Step 1 :
Membuat Project
Pertama yang
harus kita lakukan adalah membuat project react native baru, langkahnya adalah
sebagai berikut:
Buka command
prompt atau terminal.
Pada command
prompt arahkan ke folder dimana kita akan menginstall projectnya.
Install
project dengan menuliskan perintah āreact-native init NamaProjectā pada Command
Prompt. Lalu tunggu hingga proses install selesai. Untuk lebih jelasnya
silahkan perhatikan gambar berikut:
Step 2 :
Memodifikasi Project
Setelah
membuat project baru dengan nama propstate selanjutnya buka text editor dan
buka project yang telah kita buat. Pada tutorial ini saya menggunakan text
editor Visual Studio Code.
Buka folder
project āpropstateā pada text editor.
Setelah itu Run
atau jalankan program Android pada Emulator atau bisa juga langsung pada
perangkat dengan perintah āreact-native run-androidā.
Bila tidak
ada kesalahan maka akan muncul program default atau bawaan dari React
Native: Wellcome to React Native, seperti gambar di bawah ini.
Selanjutnya
modifikasi file index.android.js menjadi seperti di bawah ini :
import { AppRegistry,
Text, View } from 'react-native';
class Greeting
extends Component {
render()
{
return
(
<Text>Hello
{this.props.name}!</Text>
);
}
}
export default
class LotsOfGreetings extends Component {
render()
{
return
(
<View
style={{alignItems: 'center'}}>
<Greeting
name='Rexxar' />
<Greeting
name='Jaina' />
<Greeting
name='Valeera' />
</View>
);
}
}
// skip this
line if using Create React Native App
AppRegistry.registerComponent('propstate',
() => LotsOfGreetings);
Ganti semua
syntax pada file index.android.js menjadi seperti di atas kemudian Run kembali
projectnya maka tampilannya akan berubah menjadi seperti berikut:
Tampilan
program di atas sesuai dengan yang terdapat pada docs dari react native
Penting :Jangan lupa pada bagian
AppRegistry.registerComponent(āpropstateā,
() => LotsOfGreetings);
āpropstateā >>>> ganti sesuai dengan nama project yang kita buat
āpropstateā >>>> ganti sesuai dengan nama project yang kita buat
Setelah itu
coba modifikasi syntaxnya menjadi seperti di bawah ini:
-
- class Perkenalan
extends Component {
-
render() {
-
return (
-
<Text>{this.props.name}{this.props.asal}</Text>
-
);
-
}
- }
-
- export default
class LotsOfGreetings extends Component {
-
render() {
-
return (
-
<View>
-
<Perkenalan name='Rexxar' />
-
<Perkenalan asal='Bandung'/>
-
<Perkenalan name='Jaina' />
-
<Perkenalan asal='Surabaya'/>
-
<Perkenalan name='Valeera'/>
-
<Perkenalan asal='Jakarta'/>
-
</View>
-
);
-
}
- }
-
- // skip
this line if using Create React Native App
- AppRegistry.registerComponent('propstate',
() => LotsOfGreetings);
Jika kita
jalankan kembali programnya maka hasilnya akan menjadi seperti berikut:
STATE
Jika kita
merujuk pada penjelasan dari documentation React Native maka penjelasannya
adalah sebagai berikut :
Kurang lebih
artinya adalah :
Ada dua
jenis data yang mengendalikan suatu komponen: Props dan State. Props ditetapkan
oleh parent dan mereka tetap sepanjang komponen aktif. Untuk data yang akan
berubah-ubah, kita harus menggunakan state.
Secara umum,
Anda harus menginisialisasi state di constructor dan kemudian memanggil
setState saat Anda ingin mengubahnya.
Kesimpulan:
āJadi, State bisa dibilang adalah variabel default yang dimiliki suatu component yang nilainya dapat diubah-ubah dan nilai pada state harus didefinisikan terlebih dahulu pada constructor suatu componentā
āJadi, State bisa dibilang adalah variabel default yang dimiliki suatu component yang nilainya dapat diubah-ubah dan nilai pada state harus didefinisikan terlebih dahulu pada constructor suatu componentā
Oke,
langsung saja kita coba. Untuk percobaan State ini kita tidak perlu membuat
project baru lagi, kita gunakan project āpropstateā yang telah kita buat
sebelumnya.
Jika kita
tidak ingin merusak project sebelumnya maka saya sarankan syntax sebelumnya di index.android.js dipindahkan
semua ke file baru sebagai dokumentasi belajar. Silahkan buat folder baru
bernama Propstate kemudian di dalamnya buat file baru bernama props.js setelah
itu pindahkan semua syntax di index.android.js pada file tersebut. Perhatikan
gambar di bawah ini:
Jika telah
dipindahkan maka selanjutnya ganti syntax pada index.android.js menjadi seperti
berikut:
import {
-
Text,
-
View,
-
TextInput,
-
AppRegistry
- } from 'react-native';
-
- export default
class InputState extends Component {
-
-
constructor()
-
{
-
super()
-
this.state = {
-
nama:'',
-
}
-
}
-
-
render() {
-
return (
-
<View>
-
<TextInput
-
onChangeText={(text)
=> {this.setState({nama:text})}}
-
/>
-
<Text>Saya adalah {this.state.nama}</Text>
-
</View>
-
);
-
}
- }
-
- // skip
this line if using Create React Native App
- AppRegistry.registerComponent('propstate',
() => InputState);
Setelah itu
jalankan programnya maka hasilnya akan menjadi seperti berikut:
Jadi cara
kerja dari program yang kita buat di atas adalah jika kita menuliskan sebuah
nama pada TextInput maka hasilnya akan muncul di bawah sesuai dengan yang kita
tuliskan.
Penjelasan:
Komentar
Posting Komentar