Skip to main content

Durumla Etkileşim Ekleme

React'in durum(state) ve olay işleyicilerle(event handlers) etkileşim eklememize nasıl yardımcı olduğunu keşfedelim.

Örnek olarak, HomePage bileşeninizin içinde bir beğen düğmesi oluşturalım. İlk olarak, return() ifadenin içine bir düğme öğesi ekleyin:

function HomePage() {
const names = ['Ada Lovelace', 'Grace Hopper', 'Margaret Hamilton'];

return (
<div>
<Header title="Develop. Preview. Ship. 🚀" />
<ul>
{names.map((name) => (
<li key={name}>{name}</li>
))}
</ul>

<button>Like</button>
</div>
);
}

Olayları Dinleme (Listening to Events)

Butonun tıklandığında bir şeyler yapmasını sağlamak için onClick kolaydan faydalanabilirsiniz.

function HomePage() {
// ...
return (
<div>
{/* ... */}
<button onClick={}>Like</button>
</div>
);
}

React'te olay adları camelCased'dir. Olay onClick, kullanıcı etkileşimine yanıt vermek için kullanabileceğiniz birçok olası olaydan biridir. Örneğin, onChange giriş alanları veya onSubmit formlar için kullanabilirsiniz.

Olayları İşleme

Olayları tetiklendikleri zaman "işlemek" için bir işlev tanımlayabilirsiniz. Çağrılan return ifadesinden önce bir işlev oluşturun handleClick():

function HomePage() {
// ...

function handleClick() {
console.log("increment like count")
}

return (
<div>
{/* ... */}
<button onClick={}>Like</button>
</div>
)
}

Ardından, onClick olayı tetiklendiğinde handleClick işlevi çağırabilirsiniz:

function HomePage() {
// ...
function handleClick() {
console.log('increment like count');
}

return (
<div>
{/* ... */}
<button onClick={handleClick}>Like</button>
</div>
);
}

Durum(State) ve Kancalar(Hooks)

React'in hooks adı verilen bir dizi işlevi vardır. Kancalar, bileşenlerinize durum gibi ek mantık eklemenize olanak tanır. Durumu, genellikle kullanıcı etkileşimi tarafından tetiklenen, zaman içinde değişen, kullanıcı arayüzünüzdeki herhangi bir bilgi olarak düşünebilirsiniz.

Bir kullanıcının beğen düğmesini tıklama sayısını depolamak ve artırmak için state kullanabilirsiniz. Aslında, durumu yönetmek için React kancasının adı budur: useState()

function HomePage() {
React.useState();
}

useState() bir dizi döndürür ve dizi yok etmeyi kullanarak bileşeninizin içindeki bu dizi değerlerine erişebilir ve bunları kullanabilirsiniz:

function HomePage() {
const [] = React.useState();

// ...
}

Dizideki ilk öğe, herhangi bir value şey adlandırabileceğiniz durumdur. Açıklayıcı bir ad vermeniz önerilir:

function HomePage() {
const [likes] = React.useState();

// ...
}

Dizideki ikinci öğe update, değerin bir işlevidir. Güncelleme işlevine herhangi bir ad verebilirsiniz, ancak ön ekinin set ardından güncellemekte olduğunuz durum değişkeninin adının gelmesi yaygındır:

function HomePage() {
const [likes, setLikes] = React.useState();

// ...
}

Ayrıca, state likes inizin başlangıç ​​değerini ekleme fırsatını da kullanabilirsiniz : sıfır.

function HomePage() {
const [likes, setLikes] = React.useState(0);
}

Ardından, bileşeninizin içindeki durum değişkenini kullanarak ilk durumun çalışıp çalışmadığını kontrol edebilirsiniz.

function HomePage() {
// ...
const [likes, setLikes] = React.useState(0);

return (
// ...
<button onClick={handleClick}>Like({likes})</button>
);
}

Son olarak , HomePage bileşeninizde durum setLikes güncelleyici işlevinizi çağırabilirsiniz, onu daha önce tanımladığınız işlevin handleClick() içine ekleyelim:

function HomePage() {
// ...
const [likes, setLikes] = React.useState(0);

function handleClick() {
setLikes(likes + 1);
}

return (
<div>
{/* ... */}
<button onClick={handleClick}>Likes ({likes})</button>
</div>
);
}

Düğmeye tıklandığında handleClick fonksiyonu çağırılır setLikes da state'i +1 günceller.

State Yönetimi

Bu, duruma yalnızca bir girişti ve React uygulamalarınızda durum ve veri akışını yönetme hakkında öğrenebileceğiniz daha çok şey var. Daha fazla bilgi edinmek için React Documentation'daki Etkileşim Ekleme ve Durumu Yönetme bölümlerine göz atmanızı öneririz .