идентификаторы детей дублируются в компоненте меню пользовательского интерфейса chakra

#javascript #html #reactjs #duplicates #chakra-ui

Вопрос:

Идентификатор кнопок меню дублируется в компоненте меню чакры.

я новичок в чакре. я пытаюсь создать боковую панель, используя компонент МЕНЮ чакры. я использовал меню, как показано ниже. сгенерированный код имеет дубликаты идентификаторов кнопок. также, когда пользователь нажимает на одну кнопку, все кнопки становятся активными.

 lt;Menugt;  lt;MenuButtongt;  lt;Flexgt;  menubtn  lt;/Flexgt;  lt;/MenuButtongt;  lt;MenuButtongt;  lt;Flexgt;  menubtn  lt;/Flexgt;  lt;/MenuButtongt;  lt;MenuButtongt;  lt;Flexgt;  menubtn  lt;/Flexgt;  lt;/MenuButtongt;  lt;MenuButtongt;  lt;Flexgt;  menubtn  lt;/Flexgt;  lt;/MenuButtongt; lt;/Menugt;  

Сгенерированный HTML.

 lt;button id="menu-button-2" aria-expanded="false" aria-haspopup="menu" aria-controls="menu-list-2" class="chakra-menu__menu-button css-er1y57"gt;contentlt;/buttongt; lt;button id="menu-button-2" aria-expanded="false" aria-haspopup="menu" aria-controls="menu-list-2" class="chakra-menu__menu-button css-er1y57"gt;contentlt;/buttongt; lt;button id="menu-button-2" aria-expanded="false" aria-haspopup="menu" aria-controls="menu-list-2" class="chakra-menu__menu-button css-er1y57"gt;contentlt;/buttongt; lt;button id="menu-button-2" aria-expanded="false" aria-haspopup="menu" aria-controls="menu-list-2" class="chakra-menu__menu-button css-er1y57"gt;contentlt;/buttongt;  

Заранее спасибо.

Ответ №1:

Попробуйте использовать MenuItem и передать какой-либо уникальный идентификатор или индекс в качестве ключа

 lt;MenuButtongt;  lt;MenuItem onClick={() =gt; foo()} key={something.id}gt;  lt;Flexgt;  menubtn  lt;/Flexgt;  lt;/MenuItemgt;  lt;/MenuButtongt;