Итак, у меня есть функция сортировки и кнопка внутри компонента, и, хотя логика сортировки c верна, при нажатии кнопки ничего не отображается, поскольку для меню нет выбора. Кнопка предназначена для сортировки всех карточек меню в алфавитном порядке. Как мне написать этот синтаксис мудрым? Нужно ли мне отображать все карты меню?
Раньше у меня была сортировка с использованием корпуса редуктора и действия, но теперь я хочу сделать это без использования действий или редукторов.
Компонент:
class MenuFilter extends Component {
constructor() {
super();
this.state = { menus: [] };
}
handleMenuFetch = e => {
this.props.fetchMenus()
};
handleMenuSort = e => {
this.setState({
menus: [...this.state.menus].sort(function(a, b) {
if (a.name < b.name) {
return -1;
}
if (a.name > b.name) {
return 1;
}
return 0;
})
})};
render() {
return (
<Container>
<Row>
<div>
<button id="show-button" onClick={this.handleMenuFetch}>Show Menus</button>
</div>
<div>
<button id="sort-button" title="Sort Menus" onClick={this.handleMenuSort}>Sort Menus</button>
</div>
</Row>
</Container>
)
}
}