Skip to content

Commit 9c5f8b9

Browse files
committed
useEffect.md
1 parent 951e8c6 commit 9c5f8b9

File tree

1 file changed

+4
-17
lines changed

1 file changed

+4
-17
lines changed

src/content/reference/react/useEffect.md

Lines changed: 4 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -894,11 +894,7 @@ Bu örnekte, `MapWidget` sınıfı yalnızca kendisine iletilen DOM node'unu yö
894894
895895
### Effect'ler ile veri getirme (fetching) {/*fetching-data-with-effects*/}
896896
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.
902898
903899
Eğer manuel olarak Effect ile veri getirmek istiyorsanız, kodunuz şöyle görünebilir:
904900
@@ -1051,13 +1047,8 @@ Effect'ler içinde `fetch` çağrıları yapmak, özellikle tamamen kullanıcı
10511047
10521048
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:
10531049
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.
10611052
10621053
- **Aksi halde, istemci tarafında (client-side) bir cache kullanmayı veya geliştirmeyi düşün.**
10631054
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 }) {
17391730
17401731
### Sunucu ve kullanıcıda farklı içerikler gösterme {/*displaying-different-content-on-the-server-and-the-client*/}
17411732
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.
17471734
17481735
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:
17491736

0 commit comments

Comments
 (0)