Portallarla İpuçları ve Açılır Menüler
overflow-hidden kapsayıcılarının dışına taşan ipuçlarını ve açılır menüleri oluşturmak için portalları kullanın.
Portallarla İpuçları ve Açılır Menüler, CoddyKit'te ücretsiz bir React Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, React Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. React Academy kursu toplamda 4 dersten oluşur.
Hoş Geldiniz
Overflow Sorunu
Konumlandırma Stratejisi
const rect = triggerRef.current.getBoundingClientRect();
const top = rect.bottom + window.scrollY + 8;
const left = rect.left + window.scrollX;Araç İpucu Bileşeni
function Tooltip({ content, children }) {
const [visible, setVisible] = useState(false);
const [pos, setPos] = useState({ top: 0, left: 0 });
const ref = useRef();
const show = () => {
const r = ref.current.getBoundingClientRect();
setPos({ top: r.bottom + window.scrollY + 4,
left: r.left + window.scrollX });
setVisible(true);
};
return (
<span ref={ref} onMouseEnter={show} onMouseLeave={() => setVisible(false)}>
{children}
{visible && createPortal(
<div style={{ position:'absolute', top: pos.top, left: pos.left }}
className="tooltip">{content}</div>,
document.body
)}
</span>
);
}Kaydırma ve Yeniden Boyutlandırmada Konumu Güncelleme
useEffect(() => {
if (!visible) return;
const update = () => setVisible(false);
window.addEventListener('scroll', update, true);
window.addEventListener('resize', update);
return () => {
window.removeEventListener('scroll', update, true);
window.removeEventListener('resize', update);
};
}, [visible]);Açılır Menü Mimarisi
Dışarıya Tıklama İşleyicisi
useEffect(() => {
if (!open) return;
const handler = (e) => {
if (!menuRef.current?.contains(e.target) &&
!triggerRef.current?.contains(e.target)) {
setOpen(false);
}
};
document.addEventListener('mousedown', handler);
return () => document.removeEventListener('mousedown', handler);
}, [open]);Açılır Menülerde Klavye Gezinmesi
Konumlandırma Kitaplığı Kullanma
import { useFloating, flip, shift } from '@floating-ui/react';
const { refs, floatingStyles } = useFloating({
middleware: [flip(), shift()],
});Erişilebilirlik: Araç İpuçları için ARIA
<button aria-describedby="tip1">Hover me</button>
{visible && createPortal(
<div id="tip1" role="tooltip">Helpful text</div>,
document.body
)}Kısa Kontrol
Özet
Kurs Tamamlandı
Sıkça Sorulan Sorular
“Portallarla İpuçları ve Açılır Menüler” dersi ücretsiz mi?
Evet — “Portallarla İpuçları ve Açılır Menüler” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve React Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. React Academy kursu toplamda 4 dersten oluşur.
“Portallarla İpuçları ve Açılır Menüler” dersinde ne öğreneceğim?
overflow-hidden kapsayıcılarının dışına taşan ipuçlarını ve açılır menüleri oluşturmak için portalları kullanın. React Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
React Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te React Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Portallarla İpuçları ve Açılır Menüler” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu React Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her React Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- React Portalları Nedir
- Portallarla Modal Bileşeni Oluşturma
- Modallarda Odağı ve Klavye Kapanlarını Yönetme
- Portallarla İpuçları ve Açılır Menüler