import React, { useState } from 'react'; import classNames from 'classnames'; import styles from './min.less'; const Categories = props => { const [currentIndex, setCurrentIndex] = useState(props.currentMenuIndex); const selectCategories = (event, index) => { event.preventDefault(); event.stopPropagation(); event.nativeEvent.stopImmediatePropagation(); setCurrentIndex(index); // eslint-disable-next-line no-unused-expressions props.onChange && props.onChange(index); }; return ( <div className={classNames(styles['menu-categories'], { [styles['min-cateorites']]: props.mode, })} > {(props.data || []) .filter(item => !item.hideInMenu) .map((item, index) => { const categorieCls = classNames( styles['categorie-name'], styles.btn, currentIndex === index ? styles.active : '', ); return ( <div className={categorieCls} key={item.name} onClick={event => selectCategories(event, index)}> {/* eslint-disable-next-line jsx-a11y/alt-text */} <img src={item.extData.icon} /> <span>{item.extData.label}</span> </div> ); })} </div> ); }; export default Categories;