Redux'ta Seçiciler ve useSelector Kancası
Önceki derslerde, ürün verilerini store'a kaydettik. Peki bunları store'dan nasıl alacağız?
Bunu yapmak için, bir seçici fonksiyon yazmamız gerekiyor. Bu fonksiyon, store'da saklanan state değerinden belirli bir bilgi parçasını nasıl çıkaracağını bilir ve uygulama büyüdükçe tekrarlayan kod yazılmasını önlemeye yardımcı olur. Bu fonksiyon state'i girdi olarak alır ve çıktı olarak gerekli state dilimini verir. Örneğin:
const selectValue = state => state.some.value
Eğitimin en başında, store'un bir getState metoduna
sahip olduğundan bahsedilmişti. Ve state değerini almak
için onu kolayca kullanabilirdik:
const value = selectValue(store.getState())
Sorun şu ki, React bileşenlerimiz doğrudan store'a
erişemez, çünkü onu bileşen dosyasına import etmek
yasaktır. Ancak, React-Redux kancası useSelector
yardımıyla bileşende veri alabilme imkanımız var.
Ayrıca, bu kancayla bileşenlerimiz her zaman
sadece güncel verileri alacaktır:
const count = useSelector(selectValue)