-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
React-native array state güncellemek. #41
Comments
Şimdi kontrol ettim datayı güncelleniyor ama güncelledikten sonra flatlist den kayboluyor üzerine tıkladığımda row kayboluyor; İlk açıldığında : Güncellendiğinde : Kodlarım : import React from "react";
}
}); |
Merhaba, şimdi ben burada olayı tam olarak anlamadım. Debugger kullanıyor musun? Sana gelen verileri tıklamadan önce, tıklamadan sonra hepsini console.log ile yazdırıp atar mısın? Eğer bir objedeki değeri değiştirmek istiyorsan veri bu ise: var a = {
"data": {
"1": {
"Makine_Adi": "PRES200A - 200 Yadon - 1",
"Makine_No": "1",
"Son_Uretilen_Miktar": "55",
"id": "1"
},
}
} Tek yapman gereken json işlemi yani: a.data["1"]["Son_Uretilen_Miktar"] = 654645;
this.setState({
dataSource: a.data
}) Yani aslında bana kalırsa yapmak istediğin çok kolay bir şey. |
@abdurrahmanekr Merhabalar, dediğiniz gibi yaptım ve sorunu çözdüm şuan state de ki veri değişiyor fakat veri değiştikten sonra flatlist den kayboluyor o veri, console dan baktığımda ise veri mevcut güncellediğim de siliniyor, öncesini sonrasını 2. mesajımda paylaşmıştım; İlk açıldığında : Güncellendiğinde : |
console.log'u state güncellendikten sonra yazdırıp dener misiniz? ör:
|
Eğer bir önceki state'den farklı ise sorun var demektir |
Güncellemeden önce; Güncelledikten Sonra; Veriler doğru geliyor uretilen_miktar değeri de değişiyor ama, bu işlemden sonra flatlist den kayboluyor, Eğer verileri null yapıp tekrar setstate yaparsam her güncellemede sıkıntı olmuyor ama böyle yaptığım da da liste silinip tekrar oluşuyor ben verileri silmeden direk güncelleyerek yapmalıyım bunu güncelliyorum ama flatlist den kayboluyor dediğim gibi |
FlatList component'inin azizliğine uğramış olabilirsin. Sorunu burada çözen olmuş. FlatList'e removeClippedSubviews={false} attr ekleyip dener misin? |
@abdurrahmanekr; Merhabalar problemi çözdüm fakat removeClippedSubviews={false} ile alakası yok, kullandığım style ile alakalı sanırım, ne hikmetse renderItem fonksiyonun da bulunan styles'ı kaldırdıktan sonra problem düzeldi, flex ile ilgili olabilir diye düşünüyorum sonucu paylaşacağım. Teşekkür ederim. Öncesi;
Sonrası;
|
Hmm, sorunu çözdüğüne sevindim 🎉 . Sitillerle ile alakalı sorunlar gerçekten baş ağrıtıcı olabiliyor :/ |
Merhaba, aynı sorunu bende yaşıyordum araştırmalarım sonucunda sto'da bir çözüm buldum örnek ve kaynağı aşağıya bırakıyorum...
data arrayının ilk elemanının text değerini bir label'e bağladığımızı varsayalım.
yukarıdaki gibi yapıldığında UI de render alıyor. Kaynak : https://stackoverflow.com/questions/42029477/how-to-update-array-state-in-react-native |
Merhabalar,
dataSource isminde bir state im var uygulama ilk başlayınca soket ile gelen json verileri object e çevirip state e tanımlıyor ve flatlist e render ediyorum.
Bu işlemden sonra state içinde bulunan itemler de değişiklik yapmak istiyorum;
State içeriği;
{
"data": {
"1": {
"Makine_Adi": "PRES200A - 200 Yadon - 1",
"Makine_No": "1",
"Son_Uretilen_Miktar": "55",
"id": "1"
},
"2": {
"Makine_Adi": "PRES200A - 400 Yadon - 1",
"Makine_No": "1",
"Son_Uretilen_Miktar": "55",
"id": "1"
},
}
}
Ben ilk data render edildikten sonra örneğin 1 numaralı item in Son_Uretilen_Miktar değerini değiştirmek istiyorum setstate ile şöyle düşündüm ancak olmadı :
nasıl yapabilirim ?
The text was updated successfully, but these errors were encountered: