Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions next-env.d.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
/// <reference types="next" />
/// <reference types="next/image-types/global" />
/// <reference types="next/navigation-types/compat/navigation" />

// NOTE: This file should not be edited
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
// see https://nextjs.org/docs/pages/api-reference/config/typescript for more information.
15 changes: 1 addition & 14 deletions src/content/learn/manipulating-the-dom-with-refs.md
Original file line number Diff line number Diff line change
Expand Up @@ -644,21 +644,12 @@ Ancak bu hiç yapamayacağınız anlamına gelmez. Dikkat gerektirir. **React'in

<Recap>

<<<<<<< HEAD
- Ref'ler genel bir kavramdır ancak çoğu zaman bunları DOM elemanlarını tutmak için kullanırsınız.
- React'e `<div ref={myRef}>` elemanını geçerek `myRef.current`'a bir DOM elemanı koymasını söylersiniz.
- Genellikle DOM elemanlarına odaklama, kaydırma veya ölçme gibi zararsız işlevler için ref'leri kullanırsınız.
- Bir bileşen varsayılan olarak DOM elemanlarını göstermez. `forwardRef` kullanarak ve ikinci `ref` parametresini belirli bir elemana geçirerek bir DOM elemanını göstermeyi seçebilirsiniz.
- React tarafından yönetilen DOM elemanlarını değiştirmekten kaçının.
- React tarafından yönetilen DOM elemanlarını değiştirmek isterseniz React'in güncellemek için bir nedeni olmayan kısımlarını değiştirin.
=======
- Refs are a generic concept, but most often you'll use them to hold DOM elements.
- You instruct React to put a DOM node into `myRef.current` by passing `<div ref={myRef}>`.
- Usually, you will use refs for non-destructive actions like focusing, scrolling, or measuring DOM elements.
- A component doesn't expose its DOM nodes by default. You can opt into exposing a DOM node by using the `ref` prop.
- Avoid changing DOM nodes managed by React.
- If you do modify DOM nodes managed by React, modify parts that React has no reason to update.
>>>>>>> fc29603434ec04621139738f4740caed89d659a7

</Recap>

Expand Down Expand Up @@ -1058,11 +1049,7 @@ img {

<Hint>

<<<<<<< HEAD
`SearchInput` gibi kendi bileşeninizden bir DOM elemanı gösterebilmek için `forwardRef`'e ihtiyacınız olacak.
=======
You'll need to pass `ref` as a prop to opt into exposing a DOM node from your own component like `SearchInput`.
>>>>>>> fc29603434ec04621139738f4740caed89d659a7
Kendi bileşeniniz olan `SearchInput` gibi bir bileşenden bir DOM düğümünü dışa açmak için `ref`'i bir prop olarak iletmeniz gerekecek.

</Hint>

Expand Down
4 changes: 0 additions & 4 deletions src/content/learn/react-compiler.md
Original file line number Diff line number Diff line change
Expand Up @@ -311,11 +311,7 @@ export default defineConfig({

### Webpack {/*usage-with-webpack*/}

<<<<<<< HEAD
Bir topluluk Webpack yükleyicisi [artık burada mevcut](https://github.com/SukkaW/react-compiler-webpack).
=======
A community webpack loader is [now available here](https://github.com/SukkaW/react-compiler-webpack).
>>>>>>> fc29603434ec04621139738f4740caed89d659a7

### Expo {/*usage-with-expo*/}

Expand Down
17 changes: 0 additions & 17 deletions src/content/learn/render-and-commit.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,15 +70,9 @@ export default function Image() {
Bir bileşen ilk defa render edildikten sonra, [`set` fonksiyonu](/reference/react/useState#setstate) ile state'i güncelleyerek bileşenin tekrar render edilmesini sağlayabilirsiniz. Bileşeninizin state'ini güncellemek otomatik olarak sıraya bir render almaktadır. (Bunu restorandaki bir müşterinin susuzluk ve açlık durumuna göre ilk siparişini verdikten sonra çay, tatlı ve benzeri şeyleri sipariş etmesi gibi düşünebilirsiniz.)

<IllustrationBlock sequential>
<<<<<<< HEAD
<Illustration caption="State'i güncelle..." alt="React as a server in a restaurant, serving a Card UI to the user, represented as a patron with a cursor for their head. They patron expresses they want a pink card, not a black one!" src="/images/docs/illustrations/i_rerender1.png" />
<Illustration caption="...tetikle..." alt="React returns to the Component Kitchen and tells the Card Chef they need a pink Card." src="/images/docs/illustrations/i_rerender2.png" />
<Illustration caption="...render et!" alt="The Card Chef gives React the pink Card." src="/images/docs/illustrations/i_rerender3.png" />
=======
<Illustration caption="State update..." alt="React as a server in a restaurant, serving a Card UI to the user, represented as a patron with a cursor for their head. The patron expresses they want a pink card, not a black one!" src="/images/docs/illustrations/i_rerender1.png" />
<Illustration caption="...triggers..." alt="React returns to the Component Kitchen and tells the Card Chef they need a pink Card." src="/images/docs/illustrations/i_rerender2.png" />
<Illustration caption="...render!" alt="The Card Chef gives React the pink Card." src="/images/docs/illustrations/i_rerender3.png" />
>>>>>>> fc29603434ec04621139738f4740caed89d659a7
</IllustrationBlock>

## 2. Adım: React bileşeninizi render eder {/*step-2-react-renders-your-components*/}
Expand All @@ -90,11 +84,7 @@ Bir render tetiklediğiniz zaman React, ekranda neyin görüntüleneceğini beli

Bu süreç recursive'dir (özyinelemeli): eğer güncellenmiş bileşen başka bir bileşen döndürüyorsa React bir sonra _o_ bileşeni render edecek, o bileşen de bir şey döndürüyorsa React bir sonra _o_ bileşeni render edecektir. Bu süreç daha fazla iç içe geçmiş bileşen kalmayıncaya ve React ekranda neyin görüntülenmesi gerektiğini bilene kadar deveam edecektir.

<<<<<<< HEAD
Aşağıdaki örnekte React, `Gallery()` ve `Image()` bileşenlerini birkaç kez çağıracaktır:
=======
In the following example, React will call `Gallery()` and `Image()` several times:
>>>>>>> fc29603434ec04621139738f4740caed89d659a7

<Sandpack>

Expand Down Expand Up @@ -158,17 +148,10 @@ Eğer güncellenen bileşen ağaçta çok yüksekteyse (üst bir eleman ise), g

## 3. Adım: React değişiklikleri DOM'a işler {/*step-3-react-commits-changes-to-the-dom*/}

<<<<<<< HEAD
Bileşenleriniz render edildikten (çağırıldıktan) sonra React, DOM'u değiştirir.

* **İlk render için** React, [`appendChild()`](https://developer.mozilla.org/docs/Web/API/Node/appendChild) DOM API'nı kullanarak tüm DOM node'larını ekranda görüntüler.
* **Yeniden renderler için** React, DOM'un son render'daki çıktıyla eşleşmesi için gerekli olan asgari hesaplamaları (render edilme esnasında hesaplanmış!) yapar.
=======
After rendering (calling) your components, React will modify the DOM.

* **For the initial render,** React will use the [`appendChild()`](https://developer.mozilla.org/docs/Web/API/Node/appendChild) DOM API to put all the DOM nodes it has created on screen.
* **For re-renders,** React will apply the minimal necessary operations (calculated while rendering!) to make the DOM match the latest rendering output.
>>>>>>> fc29603434ec04621139738f4740caed89d659a7

**React DOM node'larını sadece render'lar arasında farklılık varsa değiştirir.** Örneğin aşağıda, üst bileşeninden her saniye aldığı farklı prop'lar ile yeniden render edilen bir bileşen var. `<input>` elementine yazı yazmanıza ve `değerini` güncellemenize rağmen yeniden render edilen bileşende yazdığınız yazının kaybolmadığına dikkat edin:

Expand Down
4 changes: 0 additions & 4 deletions src/content/learn/state-a-components-memory.md
Original file line number Diff line number Diff line change
Expand Up @@ -1452,11 +1452,7 @@ Eğer linter'ınız [React için yapılandırılmışsa](/learn/editor-setup#lin

#### Gereksiz state'i kaldırın {/*remove-unnecessary-state*/}

<<<<<<< HEAD
Bu örnekte düğme tıklandığında kullanıcının adını istemesi ve ardından onları selamlayan bir uyarı görüntülemesi gerekiyordu. İsim bilgisini tutmak için state kullanmaya çalıştınız, ancak her zaman "Merhaba, !" şeklinde görüntüleniyor.
=======
When the button is clicked, this example should ask for the user's name and then display an alert greeting them. You tried to use state to keep the name, but for some reason the first time it shows "Hello, !", and then "Hello, [name]!" with the previous input every time after.
>>>>>>> fc29603434ec04621139738f4740caed89d659a7

Bu kodu düzeltmek için gereksiz state değişkenini kaldırın. ([Bunun neden işe yaramadığını](/learn/state-as-a-snapshot) daha sonra tartışacağız.)

Expand Down
16 changes: 0 additions & 16 deletions src/content/learn/tutorial-tic-tac-toe.md
Original file line number Diff line number Diff line change
Expand Up @@ -295,11 +295,7 @@ export default function Square() {
}
```

<<<<<<< HEAD
_Tarayıcı_ bölümü, içinde X olan bir kare göstermelidir:
=======
The _browser_ section should be displaying a square with an X in it like this:
>>>>>>> fc29603434ec04621139738f4740caed89d659a7

![İçinde x olan kare](../images/tutorial/x-filled-square.png)

Expand Down Expand Up @@ -1329,11 +1325,7 @@ Bir kullanıcı tahtadaki solt üst kareye bir `X` eklemek için tıkladığınd
1. `handleClick` fonksiyonu (`0`) argümanını `square` dizisinin ilk elemanını `null`'dan `X`'e güncellemek için kullanır.
1. `Board` bileşeninin `squares` state'i güncellendi, bundan dolayı `Board` bileşeni ve alt bileşenleri yeniden renderlandı. Bu da `0` indeksli `Square` bileşeninin `value` prop'unun `null`'dan `X`'e değişmesine neden oldu.

<<<<<<< HEAD
Sonuçta, kullanıcı tıklamayı yaptıktan sonra sol üst karenin `X` ile doldurulduğunu gördü.
=======
In the end the user sees that the upper left square has changed from empty to having an `X` after clicking it.
>>>>>>> fc29603434ec04621139738f4740caed89d659a7

<Note>

Expand Down Expand Up @@ -1414,11 +1406,7 @@ Ama durun, bir sorun var. Aynı kareye birden çok kez tıklamayı deneyin:

`X`'in üzerine bir `O` yazılıyor! Bu oyuna çok ilginç bir değişiklik katacak olsa da, şimdilik orijinal kurallara bağlı kalacağız.

<<<<<<< HEAD
Bir kareyi `X` veya `O` ile işaretlediğinizde, önce karenin zaten bir `X` veya `O` değerine sahip olup olmadığını kontrol etmiyorsunuz. Bunu *erken döndürerek* düzeltebilirsiniz. Karenin zaten bir `X` veya `O` değerine sahip olup olmadığını kontrol edeceksiniz. Eğer kare zaten doluysa, `handleClick` fonksiyonunda erken `return` yapacaksınız - tahta state'ini güncellemeye çalışmadan önce.
=======
When you mark a square with an `X` or an `O` you aren't first checking to see if the square already has an `X` or `O` value. You can fix this by *returning early*. You'll check to see if the square already has an `X` or an `O`. If the square is already filled, you will `return` in the `handleClick` function early--before it tries to update the board state.
>>>>>>> fc29603434ec04621139738f4740caed89d659a7

```js {2,3,4}
function handleClick(i) {
Expand Down Expand Up @@ -1568,11 +1556,7 @@ function calculateWinner(squares) {

</Note>

<<<<<<< HEAD
Bir oyuncunun kazanıp kazanmadığını kontrol etmek için `Board` bileşeninin `handleClick` fonksiyonunda `calculateWinner(squares)` fonksiyonunu çağıracaksınız. Bu kontrolü, kullanıcının zaten `X` veya `O` olan bir kareye tıklayıp tıklamadığını kontrol ederken aynı anda gerçekleştirebilirsiniz. Her iki durumda da erken döndürmek istiyoruz:
=======
You will call `calculateWinner(squares)` in the `Board` component's `handleClick` function to check if a player has won. You can perform this check at the same time you check if a user has clicked a square that already has an `X` or an `O`. We'd like to return early in both cases:
>>>>>>> fc29603434ec04621139738f4740caed89d659a7

```js {2}
function handleClick(i) {
Expand Down
6 changes: 1 addition & 5 deletions src/content/reference/react-dom/components/input.md
Original file line number Diff line number Diff line change
Expand Up @@ -298,11 +298,7 @@ Tüm `<input>` elemanlarınıza bir `name` değeri verin, örneğin `<input name

<Pitfall>

<<<<<<< HEAD
Varsayılan olarak `<form>` içindeki *herhangi bir* `<button>` elemanı forumu gönderecektir. Bu biraz şaşırtıcı olabilir, kendinize ait React `Button` elemanınız varsa, `<button>` yerine [`<button type="button">`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/button) döndürmeyi düşünebilirsiniz. Daha açık olmak gerekise formu göndermesi gereken *butonlar* için `<button type="submit">` kullanınız.
=======
By default, a `<button>` inside a `<form>` without a `type` attribute will submit it. This can be surprising! If you have your own custom `Button` React component, consider using [`<button type="button">`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button) instead of `<button>` (with no type). Then, to be explicit, use `<button type="submit">` for buttons that *are* supposed to submit the form.
>>>>>>> fc29603434ec04621139738f4740caed89d659a7
Varsayılan olarak, `type` niteliği olmayan bir `<form>` içindeki bir `<button>` formu gönderir. Bu şaşırtıcı olabilir! Kendi özel `Button` React bileşeniniz varsa, `<button>` (type belirtilmeden) yerine [`<button type="button">`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/button) kullanmayı düşünün. Daha açık olmak için, formu gerçekten *göndermesi gereken* butonlar için `<button type="submit">` kullanın.

</Pitfall>

Expand Down
8 changes: 1 addition & 7 deletions src/content/reference/react/useDeferredValue.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,15 +88,9 @@ Güncellemeler esnasında, <CodeStep step={2}>ertelenmiş değer</CodeStep> en s

Bu örnekte Suspense etkinleştirilmiş veri kaynaklarından birini kullandığınız varsayılmaktadır:

<<<<<<< HEAD
- [Relay](https://relay.dev/docs/guided-tour/rendering/loading-states/) ve [Next.js](https://nextjs.org/docs/getting-started/react-essentials) gibi Suspense etkinleştirilmiş framework'ler vasıtasıyla veri çekilmesi
- Suspense'in etkinleştirildiği çerçevelerle veri çekme [Relay](https://relay.dev/docs/guided-tour/rendering/loading-states/) ve [Next.js](https://nextjs.org/docs/app/getting-started/fetching-data#with-suspense)
- [`lazy`](/reference/react/lazy) ile bileşen kodunun lazy yüklenmesi
- [`use`](/reference/react/use) ile bir Promise'in değerini okuma.
=======
- Data fetching with Suspense-enabled frameworks like [Relay](https://relay.dev/docs/guided-tour/rendering/loading-states/) and [Next.js](https://nextjs.org/docs/app/getting-started/fetching-data#with-suspense)
- Lazy-loading component code with [`lazy`](/reference/react/lazy)
- Reading the value of a Promise with [`use`](/reference/react/use)
>>>>>>> fc29603434ec04621139738f4740caed89d659a7

[Suspense ve sınırlamaları hakkında daha fazla bilgi edinin.](/reference/react/Suspense)

Expand Down
6 changes: 1 addition & 5 deletions src/content/reference/rsc/server-components.md
Original file line number Diff line number Diff line change
Expand Up @@ -299,8 +299,4 @@ function Comments({commentsPromise}) {

`note` içeriği, sayfanın render edilmesi için önemli bir veri olduğu için, sunucuda `await` edilir. Yorumlar ise daha aşağıda ve önceliği düşük olduğundan, promise'i sunucuda başlatırız ve istemcide `use` API'si ile bekleriz. Bu, istemcide askıya alınacak, ancak `note` içeriğinin render edilmesini engellemeyecektir.

<<<<<<< HEAD
Async bileşenler [istemcide desteklenmediği için](#why-cant-i-use-async-components-on-the-client), promise'i `use` ile bekleriz.
=======
Since async components are not supported on the client, we await the promise with `use`.
>>>>>>> fc29603434ec04621139738f4740caed89d659a7
Asyn bileşenler client'ta desteklenmez, Promiseları `use` ile bekleriz.