Задать вопрос
@CHtommy

Как передать state дочернему элементу?

Немного не могу понять, как правильно передать callback между файлами...Читал доку и смотрел видео и все равно не догоняю...
Передать нужно именно hovered из родительского к дочернему. Если родитель hovered, то дочерний должен тоже активироватся и отдавать className
Родитель:
function NavItem(props) {
 
    const [hovered, setHovered] = useState(false);
    const toggleHover = () => setHovered(!hovered);
   

    return (
        <div className={`${styles.header__nav_item} ${hovered ? ' header__nav_item_active' : ''}`} onMouseEnter={toggleHover} onMouseLeave={toggleHover}>
            <a className = {styles.header__nav_link} data-slug = {`${"slug-"}${props.slug}`} href = {props.url}>
                {props.title}
            </a>
        </div>
    );

} export default NavItem;

Ребенок:
function navItemSubmenu(props) {

    return (
        <div className={`${styles.header__nav_item} ${props.hovered ? 'header__submenu_inner_active' : ''}`} data-slug = {`${"slug-"}${props.dataSlug}`} >
            <div className={styles.header__submenu_col}>
                <div className={styles.header__submenu_item}>
                    <div className={styles.header__submenu_title}>
                        <div>{props.subtitle}</div>
                    </div>
                    <div className={styles.header__submenu_list}>
                        <div className={styles.header__submenu_list_item}>
                            <a className={styles.header__submenu_list_link} href="/ministerstvo/o-ministerstve/obschie-svedeniya/">
                                Общие сведения
                            </a>
                        </div>
    );
} export default navItemSubmenu;
  • Вопрос задан
  • 81 просмотр
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 80 000 до 120 000 ₽
ITK academy Воронеж
от 50 000 до 90 000 ₽