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/reference/react/useEffect.md
+4-17Lines changed: 4 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -894,11 +894,7 @@ Bu örnekte, `MapWidget` sınıfı yalnızca kendisine iletilen DOM node'unu yö
894
894
895
895
### Effect'ler ile veri getirme (fetching) {/*fetching-data-with-effects*/}
896
896
897
-
<<<<<<< HEAD
898
-
Bileşeniniz için veri fetch etmek amacıyla bir Effect kullanabilirsiniz. Ancak, [eğer bir framework kullanıyorsanız,](/learn/start-a-new-react-project#full-stack-frameworks) framework’ünüzün veri getirme mekanizmasını kullanmak, Effects’i manuel yazmaktan çok daha verimli olacaktır.
899
-
=======
900
-
You can use an Effect to fetch data for your component. Note that [if you use a framework,](/learn/creating-a-react-app#full-stack-frameworks) using your framework's data fetching mechanism will be a lot more efficient than writing Effects manually.
901
-
>>>>>>> 2534424ec6c433cc2c811d5a0bd5a65b75efa5f0
897
+
Component’iniz için data fetch etmek üzere bir Effect kullanabilirsiniz. Ancak unutmayın ki [bir framework kullanıyorsanız,](/learn/creating-a-react-app#full-stack-frameworks) framework’ünüzün data fetching mekanizmasını kullanmak, Effect’leri manuel yazmaktan çok daha verimli olacaktır.
902
898
903
899
Eğer manuel olarak Effect ile veri getirmek istiyorsanız, kodunuz şöyle görünebilir:
904
900
@@ -1051,13 +1047,8 @@ Effect'ler içinde `fetch` çağrıları yapmak, özellikle tamamen kullanıcı
1051
1047
1052
1048
Bu dezavantajlar listesi React'e özel değildir. Bu, herhangi bir kütüphane ile DOM'a eklenme sırasında yapılan veri getirme için geçerlidir. Yönlendirme (routing) de olduğu gibi, veri getirmenin iyi yapılması önemsiz değildir. Bu nedenle aşağıdaki yaklaşımları önermekteyiz:
1053
1049
1054
-
<<<<<<< HEAD
1055
-
- **Bir [framework](/learn/start-a-new-react-project#full-stack-frameworks) kullanıyorsan, onun yerleşik veri çekme (data fetching) mekanizmasını kullan.**
1056
-
Modern React framework’leri, verimli ve yukarıda bahsedilen sorunlardan etkilenmeyen entegre veri çekme mekanizmalarına sahiptir.
1057
-
=======
1058
-
- **If you use a [framework](/learn/creating-a-react-app#full-stack-frameworks), use its built-in data fetching mechanism.** Modern React frameworks have integrated data fetching mechanisms that are efficient and don't suffer from the above pitfalls.
1059
-
- **Otherwise, consider using or building a client-side cache.** Popular open source solutions include [TanStack Query](https://tanstack.com/query/latest/), [useSWR](https://swr.vercel.app/), and [React Router 6.4+.](https://beta.reactrouter.com/en/main/start/overview) You can build your own solution too, in which case you would use Effects under the hood but also add logic for deduplicating requests, caching responses, and avoiding network waterfalls (by preloading data or hoisting data requirements to routes).
1060
-
>>>>>>> 2534424ec6c433cc2c811d5a0bd5a65b75efa5f0
1050
+
- **Bir [framework](/learn/creating-a-react-app#full-stack-frameworks) kullanıyorsanız, onun built-in data fetching mekanizmasını kullanın.** Modern React framework’leri, verimli çalışan ve yukarıdaki sorunlardan etkilenmeyen entegre data fetching mekanizmalarına sahiptir.
1051
+
- **Aksi durumda, client-side cache kullanmayı veya kendi cache çözümünüzü geliştirmeyi düşünün.** Yaygın open source çözümler arasında [TanStack Query](https://tanstack.com/query/latest), [useSWR](https://swr.vercel.app/), ve [React Router 6.4+](https://beta.reactrouter.com/en/main/start/overview) bulunur. Kendi çözümünüzü de geliştirebilirsiniz; bu durumda kaputun altında Effects kullanırsınız ancak istekleri dedupe etmek, response’ları cache’lemek ve network waterfall’larını önlemek (veriyi preload ederek veya data requirement’ları route’lara hoist ederek) için ek logic yazarsınız.
1061
1052
1062
1053
- **Aksi halde, istemci tarafında (client-side) bir cache kullanmayı veya geliştirmeyi düşün.**
1063
1054
Popüler açık kaynak çözümleri arasında [TanStack Query](https://tanstack.com/query/latest/), [useSWR](https://swr.vercel.app/) ve [React Router 6.4+](https://beta.reactrouter.com/en/main/start/overview) bulunur.
@@ -1739,11 +1730,7 @@ function Page({ url, shoppingCart }) {
1739
1730
1740
1731
### Sunucu ve kullanıcıda farklı içerikler gösterme {/*displaying-different-content-on-the-server-and-the-client*/}
1741
1732
1742
-
<<<<<<< HEAD
1743
-
Eğer uygulamanız sunucu tarafı render (ya [doğrudan](/reference/react-dom/server) ya da bir [framework](/learn/start-a-new-react-project#full-stack-frameworks) aracılığıyla) kullanıyorsa, bileşeniniz iki farklı ortamda render edilir. Sunucuda, ilk HTML’i üretmek için render edilir. İstemcide ise React, event handler’larınızı o HTML’e bağlayabilmek için render kodunu tekrar çalıştırır. Bu nedenle, [hydration](/reference/react-dom/client/hydrateRoot#hydrating-server-rendered-html) çalışabilmesi için başlangıç render çıktınız istemci ve sunucuda tamamen aynı olmalıdır.
1744
-
=======
1745
-
If your app uses server rendering (either [directly](/reference/react-dom/server) or via a [framework](/learn/creating-a-react-app#full-stack-frameworks)), your component will render in two different environments. On the server, it will render to produce the initial HTML. On the client, React will run the rendering code again so that it can attach your event handlers to that HTML. This is why, for [hydration](/reference/react-dom/client/hydrateRoot#hydrating-server-rendered-html) to work, your initial render output must be identical on the client and the server.
1746
-
>>>>>>> 2534424ec6c433cc2c811d5a0bd5a65b75efa5f0
1733
+
Uygulamanız server rendering kullanıyorsa (ya [doğrudan](/reference/react-dom/server) ya da bir [framework](/learn/creating-a-react-app#full-stack-frameworks) aracılığıyla), component’iniz iki farklı ortamda render edilir. Server tarafında, initial HTML’i üretmek için render edilir. Client tarafında ise React, event handler’larınızı bu HTML’e bağlayabilmek için render kodunu tekrar çalıştırır. Bu nedenle, [hydration](/reference/react-dom/client/hydrateRoot#hydrating-server-rendered-html) düzgün çalışabilmesi için initial render çıktınızın client ve server’da **aynı** olması gerekir.
1747
1734
1748
1735
Bazı nadir durumlarda, kullanıcıda farklı içerik göstermek isteyebilirsiniz. Örneğin, uygulamanız [`localStorage`'dan](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage) bazı veriler okuyorsa, bu işlemi sunucudan yapamaz. Bunu şu şekilde uygulayabilirsiniz:
0 commit comments