⚛️React
React ile programlamaya giriş
Neden React
⚛️ReactReact Kullanımı
Online olarak:
CodeSandbox üzerinden çalışabilirsin
Bilgisayarın üzerinden çalıştırmak için:
Nodejs kurulumunu gerektirir
React'i basit olarak kurmak için buraya bakabilirsin
npm init react-app my-app
Temel Kavramlar
Component Kavramı
Tüm classlar
React.Component
'i extends etmek zorundadırrender(<html>)
ile html yorumlanırreturn
edilen html metni ekrana basılırHTML verileri
<div>
arasında olmak zorundadır
Oluşturulduklarında
constructer
metodları çalışırCss atama işlemlerinde
class
yerineclassName
özelliği kullanılırReact'e özgü özelliklerde camelCase yazım formatı vardır
Örn:
className
,onClick
Javascript verileri
{<js>}
arasında kullanılıronClick
metodu{() => <func>}
şeklinde javascript fonksiyonları ile kullanılır{<func>()}
şeklinde kullanılırsa fonksiyon tıklanmadan, direkt olarak çalıştırılır
state
'i olmayanprops
'lar üzerinden çalışan componentlere controlled component denir
State Kavramı
Class component'e özgü verilerdir
Private veriler olarak ele alınır
Constructer içerisinde
super
'den sonra kullanılırsuper
olmak zorundadır
setState({<key>: <value>})
ile güncellenirler
Props Kavramı
<Square value={i} />;
ile aktarılan veriler props verileridirthis.props
şeklinde kullanılırConstructer'a ihtiyaç duymaz
super
default olarak tanımlanır
Function Components ve Function Kavramı
Fonksiyonlar html döndüren objelerdir
return
ile tek satır döndürülüyorsa paranteze gerek yokturreturn
çok satırlı dönüş değerleri için()
içerisine yazılırstate
değişkeni olmadığından component'e göre daha kolay oluşturuluronClick
kullanımı component'lere göre daha farklıdırthis
deyimine ve() => <func>()
yapısna gerek duymaz
Function Component Örnekleri
Eğer js işlemi yoksa
{}
yerine()
kullanılırBu sayede
return
işlemine gerek kalmazİçerisine yazılan direkt olarak return edilir
State'lerde Immutable (Değişmezlik) Yapısı
State'ler değişmeyen veriler barındırır ve fonksiyonlarda slice()
işlemi ile kopyaları oluşturulup, onlar değiştirilir.
Karmaşıklığı ortadan kaldırır, geri alma işlemlerinde eski veriye erişim kolay olur
Değişikliği tespit etmesi kolaydır, kopyalanma işlemi değişkenin adresini değiştirecektir
Tekrardan render edilme zamanı çok daha rahat belirlenir
React ile Programlama Yapısı
En alt birimden kodlamaya başlanır
Duruma göre component'in state'leri bir üst birime aktarılır
component'teki state'ler props ile yenilenir
Bu işlem olabilidiğince devam eder
Faydalı Metodlar
<arr>.push
ile ekleme işlemi orjinal diziyi değiştirir (immutable olması bozulur)
For veya Map Döngüsü İşlemleri
Döngüsel işlemlerde react hangi objenin değiştiğine karar veremez
Ayırt ediciliğin oluşması için
key
değeri verilirkey
değerinin global olarak eşsiz olmasına gerek yoktur, local olarak olması kafikey
değerinethis.props.key
gibi işlemlerle erişilemez, rezerve edilmiş bir kelimedirkey={i}
ataması sağlıklı değildir, indekslerdeki kayıp durumunda sorun çıkarır
Hook Yapısı (useSatate)
React v16.8 ile gelen bir özelliktir
Class componentler de olan ama function componentlerde olmayan state yapısı için:
useState
kodu kullanılırconst [<state>, <handler>] = useState(<value>)
formatında kullanımı vardırBu sayede function componentlerde de state'ler kullanılabilir hale gelmekte
Github Üzerinde Yayınlama
package.json
dosyasına"homepage":"https://yourusername.github.io/repository-name"
alnını ekleyinnpm install --save gh-pages
ile gh-pages'i yükleyinpackage.json
'daki scripts'lere alttakileri ekleyin:"predeploy": "npm run build",
"deploy": "gh-pages -d build"
npm run deploy
ile gh-pages'e aktarabilirsiniz 🚀
Netlify üzerinden yayınlar isen daha fazla avataja sahipsin 🎈
React Bilgileri
React'ta dom komutları çalışır
SVG alımı
Svg dosyası oluşturulup içine svg ekleniir
<svg> <g> ...
jsx
dosyasındanimport
edilirimg src={svg}
şeklinde kullanılır
HTML Gösterme
Ücretsiz React Çalışma Yerleri
Kitap için buraya
Görsel Kaynaklar
Codesanbox üzerinden deneyebilirsin
Upload butonu da vardır
npm install mdbreact
Kaynaklar için buradaki makeleye bakmanda fayda var
Admin Paneli (Dashboard)
✨ React ile CSS Oluşturma
Oluşturulan stili style = {myStyle}
şeklinde kullanabiliriz.
Tam Ekran Arkaplan Ayarlama
Transparan Arkaplan
Faydalı Bağlantılar
Last updated