Expense tracker app using ReactJS
Stars
1
Forks
0
Watchers
1
Open Issues
0
Overall repository health assessment
^5.16.5^13.4.0^13.5.0^18.2.0^18.2.05.0.1^2.1.431
commits
Menyempurnakan chart sesuai month. Memanfaatkan method Math.max() , spread operator, for of
f88fec1View on GitHubMemodifikasi file ChartBar.js yang meliputi : menentukan barFilledHeight dan mensetting height suatu elemen sesuai dengan barFilledHeight yaitu dengan menggunakan 'dynamic styling' yang menyimpan objek CSS di dalam komponen JSX.
270bd3eView on GitHubMenambahkan folder Chart yang berisi components Chart dan ChartBar untuk menampilkan chart tiap bulannya.
4b55eedView on GitHubMenambahkan fungsionalitas : secara default akan menyembunyikan form penambahan expense. Form akan muncul ketika kita mengklik Add New Expenses. Serta menambahkan tombol Cancel pada Form, untuk menangani apabila kita tidak jadi menambahkan Expense. Serta apabila kita sudah selesai mengisi form dan mengklik tombol Add Expense, maka secara otomatis form akan tersembunyi lagi. Hal ini dapat dilakukan dengan menggunakan conditional dan state di React
5ba333cView on GitHubMelakukan splitting code untuk expense list. Membuat ExpenseList.js yang khusus untuk melakukan logika dan menampilkan expense list. NOTE = kita bisa melakukan pengkondisian untuk menentukan sebuah return yang akan dilakukan oleh suatu component
1afcf9fView on GitHubMelakukan percabangan di React. Perubahan dilakukan di file Expenses.js. Sebaiknya kita melakukan percabangan (operasi logika) di luar JSX. Ada juga cara lain untuk melakukan percabangan dengan ternary operator , serta dengan trik JavaScript yaitu apabila kita melakukan operasi logika && dan statement pertama bernilai true, maka statement kedua akan di return
f47e7b1View on GitHubMenambahkan fungsi filter pada file Expenses.js sehingga ketika kita mengatur dropdown year maka yang akan tampil hanya expense di year tersebut, hal ini dapat dilakukan dengan higher-order function 'filter' yang menyimpan array baru yang sudah di filter di variabel 'filteredExpenses' di file Expenses.js
9eca342View on GitHubMenambahkan property 'key pada pemanggilan ExpenseItem component. Property key berfungsi supaya React dapat mengenali dimana component baru akan ditambahkan. Karena secara default React melakukan pekerjaa yang kurang efisien ketika ada penambahan elemen baru pada list. Jadi, sebaiknya kita selalu menambahkan property 'key' ketika kita bekerja dengan list of element. NOTE : key yang kita tambahkan memiliki nilai berupa 'id' dari elemen.
fef1992View on GitHubStateful list. Mengubah nama expenses pada file App.js menjadi DUMMY_EXPENSES. Menggunakan useState untuk menangani inputan list (DUMMY_EXPENSES) supaya dapat ditambahkan dari inputan kita
c922536View on GitHubMemodifikasi file Expenses.js dengan menghapus pemanggilan ExpenseItem componen yang statis, menjadi dinamis dengan menggunakan higher-order functions yaitu map() untuk membaca setiap array yang dikirim melalui props
6bf72c8View on GitHubMenghapus button pada ExpenseItem.js yang dulunya hanya digunakan untuk demo. Stateless vs Stateful Component. Stateless component adalah ketika menggunakan props. Stateful adalah ketika kita menggunakan state.
b85d537View on GitHubMenambahkan komponen baru : ExpensesFilter.js yang berfungsi untuk melakukan filter tahun. Tetapi komponen belum berfungsi secara sempurna. Menerapkan Lifting-up mengirim data dari child komponen ke parent komponen. Menerapkan two-way binding.
a68dcfcView on GitHubCara berkomunikasi antar komponen terutama dari child ke parent component (bottom up). Yaitu dengan membuat props pada component parent yang menerima nilai berupa function, lalu mendefinisikan function tersebut di component parent, kemudian pada component child kita gunakan props untuk mengakses props buatan yang telah kita buat di component parent. Contohnya di sini adalah : onAddExpense, onSaveNewExpenseHandler
5e03fd0View on GitHubMemungkinkan form yang sudah di submit akan kosong kembali (me reset) dengan prinsip Two-way data binding. Mengset value tiap elemen (texfield) dengan (titleChange, amountChange, dateChange).
d87ed19View on GitHub