You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/content/learn/you-might-not-need-an-effect.md
+2-10Lines changed: 2 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -26,11 +26,7 @@ Efektlere ihtiyaç duymadığınız iki yaygın durum vardır:
26
26
***Verileri işlemek üzere dönüştürmek için Efektlere ihtiyacınız yoktur.** Örneğin, bir listeyi göstermeden önce o listeyi filtrelemek istediğinizi varsayalım. Liste değiştiğinde bir state değişkenini güncelleyen bir Efekt yazmak cazip hissettirebilir. Ancak, bu yöntem verimsizdir. State'i güncellediğinizde, React ilk olarak ekranda ne gözükeceğini hesaplamak için öncelikle bileşen fonksiyonlarınızı çağırır. Daha sonra React ekranı güncelleyerek bu değişiklikleri DOM'a ["işleyecektir"](/learn/render-and-commit). Ardından React Efektlerinizi çalıştıracaktır. Efektiniz *ayrıca* state'i anında güncelliyorsa, bu tüm süreci yeniden sıfırdan başlatır! Gereksiz render geçişlerini önlemek için bileşenlerinizin en üst düzeyindeki tüm verileri dönüştürün. Bu kod propslarınız veya stateleriniz değiştiğinde otomatik olarak yeniden çalışacaktır.
27
27
***Kulanıcı olaylarını yönetmek için Efektlere ihtiyacınız yoktur.** Örneğin, `/api/buy` POST isteği göndermek ve kullanıcı bir ürün satın aldığında bir bildirim göstermek istediğinizi varsayalım. Satın Al buton olay yöneticisi içerisinde, kesinlikle ne olacağını bilirsiniz. Efekt çalıştığında, kullanınıcının *ne* yaptığını bilemezsiniz (örneğin, hangi butona tıklandığını). Bu sebeple, genellikle kullanıcı olaylarını karşılık gelen olay yöneticileri içerisinde ele alacaksınız.
28
28
29
-
<<<<<<< HEAD
30
-
Harici sistemlerle [senkronize olmak](/learn/synchronizing-with-effects#what-are-effects-and-how-are-they-different-from-events) için *gerçekten* Effects kullanmanız gerekir. Örneğin, bir jQuery widget’ını React state’iyle senkronize tutan bir Effect yazabilirsiniz. Ayrıca Effects ile veri fetch edebilirsiniz: örneğin, arama sonuçlarını mevcut arama sorgusuyla senkronize edebilirsiniz. Unutmayın ki modern [framework’ler](/learn/start-a-new-react-project#full-stack-frameworks), bileşenlerinizde doğrudan Effect yazmaktan daha verimli yerleşik veri fetch mekanizmaları sunar.
31
-
=======
32
-
You *do* need Effects to [synchronize](/learn/synchronizing-with-effects#what-are-effects-and-how-are-they-different-from-events) with external systems. For example, you can write an Effect that keeps a jQuery widget synchronized with the React state. You can also fetch data with Effects: for example, you can synchronize the search results with the current search query. Keep in mind that modern [frameworks](/learn/creating-a-react-app#full-stack-frameworks) provide more efficient built-in data fetching mechanisms than writing Effects directly in your components.
33
-
>>>>>>> 2534424ec6c433cc2c811d5a0bd5a65b75efa5f0
29
+
External sistemlerle [senkronize olmak](/learn/synchronizing-with-effects#what-are-effects-and-how-are-they-different-from-events) için Effects’e gerçekten *ihtiyaç duyarsınız*. Örneğin, bir jQuery widget’ını React state ile senkronize tutan bir Effect yazabilirsiniz. Ayrıca Effects ile data fetch de edebilirsiniz; örneğin arama sonuçlarını mevcut search query ile senkronize edebilirsiniz. Ancak unutmayın: modern [framework’ler](/learn/creating-a-react-app#full-stack-frameworks), component’larınız içinde doğrudan Effect yazarak yapacağınız data fetching’e kıyasla çok daha verimli built-in data fetching mekanizmaları sunar.
34
30
35
31
Doğru sezgiyi kazanmanıza yardımcı olmak için, hadi bazı yaygın somut örneklere göz atalım!
36
32
@@ -763,11 +759,7 @@ Bu, Efektiniz veri çektiğinde, en son istenen isteğin haricindeki tüm yanıt
763
759
764
760
Race conditionları yönetmek, veri çekme işlemini uygularken karşılaşılan tek zorluk değildir. Ayrıca yanıtların önbelleğe alınması (kullanıcının Back butonuna tıkladığında önceki ekranı anında görebilmesi için), sunucuda veri çekme işleminin nasıl gerçekleştirileceği (ilk sunucu tarafından oluşturulan HTML'in spinner yerine çekilen içeriği içermesi için) ve ağ gecikmelerinden kaçınma yöntemleri (bir alt elemanın, üst elemanların tamamlanmasını beklemeksizin veri çekme işlemi yapabilmesi) gibi düşüncelerde bulunmanız gerekebilir.
765
761
766
-
<<<<<<< HEAD
767
-
**Bu sorunlar sadece React için değil, tüm UI kütüphaneleri için geçerlidir. Bunları çözmek kolay değildir; bu yüzden modern [framework’ler](/learn/start-a-new-react-project#full-stack-frameworks), Effects içinde veri fetch etmekten daha verimli yerleşik veri getirme mekanizmaları sağlar.**
768
-
=======
769
-
**These issues apply to any UI library, not just React. Solving them is not trivial, which is why modern [frameworks](/learn/creating-a-react-app#full-stack-frameworks) provide more efficient built-in data fetching mechanisms than fetching data in Effects.**
770
-
>>>>>>> 2534424ec6c433cc2c811d5a0bd5a65b75efa5f0
762
+
**Bu sorunlar yalnızca React için değil, herhangi bir UI library için geçerlidir. Bunları çözmek trivial değildir; bu nedenle modern [framework’ler](/learn/creating-a-react-app#full-stack-frameworks), veriyi Effects içinde fetch etmeye kıyasla çok daha verimli built-in data fetching mekanizmaları sunar.**
771
763
772
764
Eğer bir framework kullanmadıysanız (ve kendiniz oluşturmak istemiyorsanız) ama Efektlerden veri çekme işlemini daha kolay şekilde yapmak istiyorsanız, kendi veri çekme mantığınızı bu örnekteki gibi özel bir Hook'a çevirin:
0 commit comments