-
Notifications
You must be signed in to change notification settings - Fork 172
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
base: main
Are you sure you want to change the base?
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎ 1 Skipped Deployment
|
Oops, eski bir çeviri kalmış sorry, çözüyorum |
Size changes📦 Next.js Bundle Analysis for react-devThis analysis was generated by the Next.js Bundle Analysis action. 🤖 This PR introduced no changes to the JavaScript bundle! 🙌 |
There was a problem hiding this 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' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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*/} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
## 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ı? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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. |
No description provided.