React bakiye geçmişi
Geliştirdiğim projenin muhasebe bölümünde hesaba gelen ve çıkan paraların
hareketlerini tutuğum bir tablo var. Bunu table'da sıkıntısız gösteriyorum.
İstediğim şey bu hareketlerin bakiyeye nasıl etki ettiğinide göstermek.
Tablomun şu şekilde olmasını istiyorum.
Tutar | Bakiye |
---|---|
600 | 6450 |
250 | 5850 |
-900 | 5600 |
6500 | 6500 |
<table className="table text-wrap">
<thead>
<tr>
<th>Tarih</th>
<th>Tip</th>
<th>Firma</th>
<th>Açıklama</th>
<th>Tutar</th>
<th>Bakiye</th>
</tr>
</thead>
<tbody>
{transactions.map((item) => {
return (
<tr key={item.id}>
<td>{item.document_date}</td>
<td>{item.document_type}</td>
<td>{item.interlocutors_label}</td>
<td>{item.description}</td>
<td>
{readableMoneyFormat(item.document_total)} {props.detail.currency}
</td>
<td></td>
</tr>
);
})}
</tbody>
</table>;
mantık şöyle olmalı, bakiyeyi tuttuğun bir değerin olduğunu düşünüyorum. örneğin şöyle bir şeyde tutulsun şimdilik;
const balance = 6000
loop'da index değerini de dahil edip eğer index değeri 0 değilse bir önceki elemanı index - 1 ile seçip onun değerini balance'dan çıkarmak olacak. yani;
<table className="table text-wrap">
<thead>
<tr>
<th>Tarih</th>
<th>Tip</th>
<th>Firma</th>
<th>Açıklama</th>
<th>Tutar</th>
<th>Bakiye</th>
</tr>
</thead>
<tbody>
{transactions.map((item, key) => {
return (
<tr key={item.id}>
<td>{item.document_date}</td>
<td>{item.document_type}</td>
<td>{item.interlocutors_label}</td>
<td>{item.description}</td>
<td>
{readableMoneyFormat(item.document_total)} {props.detail.currency}
</td>
<td>
{readableMoneyFormat(key !== 0 ? balance - transactions[key - 1].document_total : balance)}
</td>
</tr>
);
})}
</tbody>
</table>;
çalışan bir örnek: https://codesandbox.io/s/icy-tdd-l1mpdj?file=/src/App.js