Topic: How to hook the size of the component MDBSideNav?
maxchip priority asked 10 months ago
Expected behavior I need to know the size of the component.
Actual behavior I can't get the size of the component (width and height)
Resources (screenshots, code snippets etc.)
import React, { useEffect, useContext, useRef } from 'react'; // MD BootStrap Component import { MDBSideNav, MDBSideNavMenu, MDBSideNavItem, MDBSideNavLink, MDBIcon } from 'mdb-react-ui-kit'; // Data Provider import { DataContext } from '../data/DataContext'; const ComponentSidebar = () => { const sidebarRef = useRef(null); useEffect(() => { if (sidebarRef.current) { const handleSidebarResize = () => { if (sidebarRef.current) { const { width, height } = sidebarRef.current.getBoundingClientRect(); setHeaderSize({ width, height }); } }; window.addEventListener("resize", handleSidebarResize); handleSidebarResize(); return () => window.removeEventListener("resize", handleSidebarResize); } }, []); return ( <> {hookSidebarEnable && ( <MDBSideNav ref={sidebarRef} backdrop={false} absolute > <MDBSideNavMenu> <MDBSideNavItem> <MDBSideNavLink> <MDBIcon far icon='smile' className='fa-fw me-3' /> Link 1 </MDBSideNavLink> </MDBSideNavItem> <MDBSideNavItem> <MDBSideNavLink> <MDBIcon fas icon='grin' className='fa-fw me-3' /> Link 2 </MDBSideNavLink> </MDBSideNavItem> <MDBSideNavItem> <MDBSideNavLink> <MDBIcon fas icon='grin' className='fa-fw me-3' /> Link 3 </MDBSideNavLink> </MDBSideNavItem> </MDBSideNavMenu> </MDBSideNav> )} </> ); }; export default React.memo(ComponentSidebar); 
Add comment
Mateusz Lazaru staff answered 10 months ago
Sidenav does not support ref forwarding at the moment.
You would need to add some code:.
const navRef = React.useRef<HTMLElement>(null); useEffect(() => { navRef.current = document.querySelector('.sidenav'); console.log('navRef.current', navRef.current); }, []); FREE CONSULTATION
Hire our experts to build a dedicated project. We'll analyze your business requirements, for free.
Status
Answered
Specification of the issue
- ForumUser: Priority
- Premium support: Yes
- Technology: MDB React
- MDB Version: MDB5 9.0.0
- Device: PC
- Browser: Chrome
- OS: Windows
- Provided sample code: No
- Provided link: Yes