ещё подход с id'шками интересен, что можно сгенерировать itemsById, и при сортировке/пересортировке делать массивы айдишек, которые потом map'аются в массивы объектов, которые отправляются на экран
т.е. получается какое-нибудь временное представление, пересортировка та же
что-нибудь типа
sortedIds.map(id => itemsById[id])) || items
когда нужно отключить сортировку - просто очищаешь массив sortedIds
и не нужно "запоминать" и "восстанавливать" стейт