React.js ve Render Süreleri: Temel Kavramlar
React.js, kullanıcı arayüzlerini oluşturmak için mükemmel bir araç olsa da, karmaşık uygulamalarda render süreleri zaman zaman uzayabilir. React'in sanal DOM'u sayesinde, yalnızca değişen bileşenler yeniden render edilir, ancak karmaşık veri yapıları veya çok fazla bileşen olduğunda, bu işlem yine de performans sorunlarına yol açabilir.
Render sürelerini optimize etmek için birkaç temel yöntemi kullanabilirsiniz. Bu tekniklerin doğru kullanımı, uygulamanızın hızını önemli ölçüde artıracaktır.
# 1. Memoization ve useMemo ile Performans İyileştirme
Memoization, fonksiyonların daha önce hesaplanmış sonuçlarını saklamanıza olanak tanır. React'te, `useMemo` hook'u, yalnızca bağımlılıkları değiştiğinde bir değeri yeniden hesaplayarak render süresini kısaltır. Bu, özellikle büyük veri setleriyle çalışırken çok faydalıdır.
const filteredData = useMemo(() => {
return data.filter(item => item.isActive);
}, [data]);
Bu örnekte, `useMemo` yalnızca `data` değiştiğinde `filteredData`'yı yeniden hesaplar, böylece gereksiz hesaplamaların önüne geçilmiş olur.
# 2. React PureComponent ve shouldComponentUpdate
React, bileşenlerin gereksiz yere yeniden render edilmesini engellemek için bazı yerleşik optimizasyonlar sunar. `PureComponent`, yalnızca props veya state değiştiğinde render edilen bir bileşen türüdür. Eğer props veya state değişmediyse, bu bileşen yeniden render edilmez.
class MyComponent extends React.PureComponent {
render() {
return {this.props.text};
}
}
Bu şekilde, sadece gerekli olduğunda yeniden render edilir ve performans kazanımı sağlanır.
# 3. Lazy Loading ve Code Splitting
Uygulamanızın başlangıç yükleme süresini iyileştirmek için `lazy loading` ve `code splitting` tekniklerini kullanabilirsiniz. `React.lazy()` ve `Suspense` ile bileşenleri yalnızca gerektiğinde yükleyebilirsiniz.
const LazyComponent = React.lazy(() => import('./LazyComponent'));
Loading...