Skip to content
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

Translate Reusing Logic With Custom Hooks #579

Open
wants to merge 19 commits into
base: main
Choose a base branch
from

Conversation

andyanday33
Copy link
Contributor

No description provided.

Copy link

vercel bot commented Dec 1, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

1 Skipped Deployment
Name Status Preview Comments Updated (UTC)
tr-legacy-reactjs-org ⬜️ Ignored (Inspect) Visit Preview Dec 1, 2024 9:57pm

@andyanday33
Copy link
Contributor Author

Oops, eski bir çeviri kalmış sorry, çözüyorum

Copy link

github-actions bot commented Dec 1, 2024

Size changes

📦 Next.js Bundle Analysis for react-dev

This analysis was generated by the Next.js Bundle Analysis action. 🤖

This PR introduced no changes to the JavaScript bundle! 🙌

Copy link
Collaborator

@serkanisyapan serkanisyapan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gerekli yerleri düzelttikten sonra merge edelim. Elinize sağlık

@@ -1,30 +1,30 @@
---
title: 'Reusing Logic with Custom Hooks'
title: 'Özel Hooklar ile Mantığı Tekrar Kullanma'
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
title: 'Özel Hooklar ile Mantığı Tekrar Kullanma'
title: 'Özel Hook'lar ile Mantığı Tekrar Kullanma'

' ile ayıralım

1. A piece of state that tracks whether the network is online.
2. An Effect that subscribes to the global [`online`](https://developer.mozilla.org/en-US/docs/Web/API/Window/online_event) and [`offline`](https://developer.mozilla.org/en-US/docs/Web/API/Window/offline_event) events, and updates that state.
1. Ağınızın çevrimiçi olup olmadığını izleyen bir state parçası.
2. Global [`online`](https://developer.mozilla.org/en-US/docs/Web/API/Window/online_event) ve [`offline`](https://developer.mozilla.org/en-US/docs/Web/API/Window/offline_event) olaylarına abone olan ve bu state'i güncelleyen bir Effect.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
2. Global [`online`](https://developer.mozilla.org/en-US/docs/Web/API/Window/online_event) ve [`offline`](https://developer.mozilla.org/en-US/docs/Web/API/Window/offline_event) olaylarına abone olan ve bu state'i güncelleyen bir Effect.
2. Global [`online`](https://developer.mozilla.org/en-US/docs/Web/API/Window/online_event) ve [`offline`](https://developer.mozilla.org/en-US/docs/Web/API/Window/offline_event) olaylarına abone olan ve bu state'i güncelleyen bir Efekt.

Effect kelimesini Efekt olarak çeviriyoruz.


To start, you can copy and paste the `isOnline` state and the Effect into `SaveButton`:
Başlangıç olarak, `isOnline` state'ini ve Effect'i `SaveButton`'a kopyalayabilirsiniz:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Başlangıç olarak, `isOnline` state'ini ve Effect'i `SaveButton`'a kopyalayabilirsiniz:
Başlangıç olarak, `isOnline` state'ini ve Efekti `SaveButton`'a kopyalayabilirsiniz:

Aynı şekilde Effect kelimesi


When you need to share the state itself between multiple components, [lift it up and pass it down](/learn/sharing-state-between-components) instead.
State'i birden fazla bileşen arasında paylaşmak istediğinizde, bunun yerine onu [yukarı kaldırın ve aşağı geçirin](/learn/sharing-state-between-components).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
State'i birden fazla bileşen arasında paylaşmak istediğinizde, bunun yerine onu [yukarı kaldırın ve aşağı geçirin](/learn/sharing-state-between-components).
State'i birden fazla bileşen arasında paylaşmak istediğinizde, bunun yerine onu [yukarı kaldırın ve aşağı iletin](/learn/sharing-state-between-components).

Pass kelimesini iletmek ya da aktarmak olarak çevirelim.


## Passing reactive values between Hooks {/*passing-reactive-values-between-hooks*/}
## Hook'lar arasında reaktif değerler geçirme {/*passing-reactive-values-between-hooks*/}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
## Hook'lar arasında reaktif değerler geçirme {/*passing-reactive-values-between-hooks*/}
## Hook'lar arasında reaktif değerler iletme {/*passing-reactive-values-between-hooks*/}

Aynı şekilde

clearInterval(id);
};
}, [onTick, delay]);
```

Do the logs match what you expect to happen? If some of your Effects seem to re-synchronize unnecessarily, can you guess which dependency is causing that to happen? Is there some way to [remove that dependency](/learn/removing-effect-dependencies) from your Effect?
Log'lar olacağını düşündüğünüz şeyle uyuşuyor mu? Eğer bazı Efekt'leriniz gereksiz yere yeniden senkronize oluyorsa, bunun hangi dependency'den dolayı olduğunu tahmin edebilir misiniz? Efekt'inizden [bu dependency'yi kaldırabileceğiniz](/learn/removing-effect-dependencies) bir yol var mı?
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Log'lar olacağını düşündüğünüz şeyle uyuşuyor mu? Eğer bazı Efekt'leriniz gereksiz yere yeniden senkronize oluyorsa, bunun hangi dependency'den dolayı olduğunu tahmin edebilir misiniz? Efekt'inizden [bu dependency'yi kaldırabileceğiniz](/learn/removing-effect-dependencies) bir yol var mı?
Log'lar olacağını düşündüğünüz şeyle uyuşuyor mu? Eğer bazı Efekt'leriniz gereksiz yere yeniden senkronize oluyorsa, bunun hangi bağımlılıktan dolayı olduğunu tahmin edebilir misiniz? Efekt'inizden [bu bağımlılığı kaldırabileceğiniz](/learn/removing-effect-dependencies) bir yol var mı?

dependency kelimesini bağımlılık olarak çeviriyoruz


<Hint>

It looks like your `useInterval` Hook accepts an event listener as an argument. Can you think of some way to wrap that event listener so that it doesn't need to be a dependency of your Effect?
Görünen o ki `useInterval` Hook'unuz argüman olarak bir olay dinleyicisi alıyor. Bu olay dinleyicisini Efekt'iniz için bir dependency olmaya ihtiyaç duymadan nasıl sarabileceğinizi düşünebilir misiniz?
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Görünen o ki `useInterval` Hook'unuz argüman olarak bir olay dinleyicisi alıyor. Bu olay dinleyicisini Efekt'iniz için bir dependency olmaya ihtiyaç duymadan nasıl sarabileceğinizi düşünebilir misiniz?
Görünen o ki `useInterval` Hook'unuz argüman olarak bir olay dinleyicisi alıyor. Bu olay dinleyicisini Efekt'iniz için bir bağımlılık olmaya ihtiyaç duymadan nasıl sarabileceğinizi düşünebilir misiniz?


This will allow you to omit `onTick` from dependencies of your Effect. The Effect won't re-synchronize on every re-render of the component, so the page background color change interval won't get reset every second before it has a chance to fire.
Bu sizin `onTick`'i Efekt'iniz için bir dependency olmaktan çıkarmanıza olanak tanır. Efekt, bileşeniniz her yeniden renderlandığında tekrar senkronie olmayacak, böylece sayfa arka plan rengi değişim interval'i her saniye çalışmaya şans bulamadan sıfırlanmamış olacak.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Bu sizin `onTick`'i Efekt'iniz için bir dependency olmaktan çıkarmanıza olanak tanır. Efekt, bileşeniniz her yeniden renderlandığında tekrar senkronie olmayacak, böylece sayfa arka plan rengi değişim interval'i her saniye çalışmaya şans bulamadan sıfırlanmamış olacak.
Bu sizin `onTick`'i Efekt'iniz için bir bağımlılık olmaktan çıkarmanıza olanak tanır. Efekt, bileşeniniz her yeniden render edildiğinde tekrar senkronize olmayacak, böylece sayfa arka plan rengi değişim interval'i her saniye çalışmaya şans bulamadan sıfırlanmamış olacak.


Does this Effect need cleanup? Why or why not?
Bu Efekt'in cleanup'a ihtiyacı var mı? Varsa neden, yoksa neden?
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Bu Efekt'in cleanup'a ihtiyacı var mı? Varsa neden, yoksa neden?
Bu Efekt'in temizleme fonksiyonuna ihtiyacı var mı? Varsa neden, yoksa neden?

cleanup kelimesini temizleme olarak çeviriyoruz

@@ -2485,7 +2493,7 @@ body { min-height: 300px; }

</Sandpack>

Note that this Effect *does not* need cleanup. If you called `clearTimeout` in the cleanup function, then each time the `value` changes, it would reset the already scheduled timeout. To keep the movement continuous, you want all the timeouts to fire.
Bu Efekt'in cleanup'a ihtiyacı *olmadığını* unutmayın. Eğer cleanup fonksiyonunda `clearTimeout`'u çağırdıysanız, o zaman her `value` değiştiğinde, zaten planlanmış olan timeout'u sıfırlar. Hareketi sürekli tutmak için, tüm timeout'ların çalışmasını istersiniz.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Bu Efekt'in cleanup'a ihtiyacı *olmadığını* unutmayın. Eğer cleanup fonksiyonunda `clearTimeout`'u çağırdıysanız, o zaman her `value` değiştiğinde, zaten planlanmış olan timeout'u sıfırlar. Hareketi sürekli tutmak için, tüm timeout'ların çalışmasını istersiniz.
Bu Efekt'in temizleme fonksiyonuna ihtiyacı *olmadığını* unutmayın. Eğer temizleme fonksiyonunda `clearTimeout`'u çağırdıysanız, o zaman her `value` değiştiğinde, zaten planlanmış olan timeout'u sıfırlar. Hareketi sürekli tutmak için, tüm timeout'ların çalışmasını istersiniz.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants