У меня есть набор данных, массив JSON, который я отображаю в своем компоненте Transfers, используя функцию map, каждый из которых является компонентом Row.Я хочу отсортировать эти данные с помощью функции сортировки.Мне удалось отсортировать массив данных, но список (Row) вообще не обновляется.Фактически, конструктор для Row для каждой строки вызывается только в первый раз, прежде чем произойдет сортировка.
Моя цель - не просто отсортировать данные один раз, поэтому сортировка их по componentDidMount не является решением.У меня есть кнопка, при нажатии которой данные сортируются по возрастанию или по убыванию в зависимости от того, как они были отсортированы в предыдущий раз.
Когда я печатаю данные перед оператором карты, он показывает, что они отсортированы правильно.
Редактировать: В результате в приведенном ниже журнале распечатывается массив, отсортированный один раз по возрастанию, а затем по убыванию.
{console.log(this.state.sortedRows)}
{this.state.sortedRows.length>0 ? this.state.sortedRows.map((row,i) => <Row data={row} key={i} id={i} showCommentBox={this.showCommentBox}></Row>) : null}
Я предполагаю, что проблема заключается в том, что компонент Row не должен создаватьсякаждый раз, когда вызывается метод рендеринга в TransferНо не должно ли произойти какое-то изменение, так как я использую другой набор данных для создания строк?
Как это исправить, используя этот метод или любой другой альтернативный метод для сортировки набора строк?