victorzadorozhnyy
@victorzadorozhnyy

Как можно организовать сортировку для React элементов?

Какие есть способы сортировать элементы реакта, которые находятся в аррее?
Для пользователя это выглядит как список в котором каждая строчка это кнопка, при нажатии появляется модал.
Появилась необходимость сделать кнопку которая будет сортировать записи находящиеся в
var ActNonPat = [];
that.setState({rowsActNonPat : ActNonPat})


//Это элемент кнопка-модал
class ActivitiesModal extends Component {
 ...
    render() {
        return (
            <div>
                <Button bsSize="xsmall" onClick={()=> this.setState({showModal: !this.state.showModal})} block>
                    {this.props.datetime} | {this.props.user_loc}
                </Button>

                <Modal ...>
                        {this.props.modalActiv}
                </Modal>
      

class RecordRowNonPat extends Component {

        var ActNonPat = []; // Как произвести сортировку по {res.nps_user_loc} и {res.nps_datetime}?
        var that = this;

        jQuery.post(
          ...//Получаем записи из БД 
   
            $.each( resp, function( i, res )//Делаем из записей элементы
            {
                ActNonPat.push(
                    <ActivitiesModal
                        datetime={res.nps_datetime} //используются как 
                        user_loc={res.nps_user_loc}//надписи на кнопке
                        modalActiv={
                            <NonPatientSer
                                nps_id ={ res.nps_id } // показываются в модальном окне
                                nps_datetime ={ res.nps_datetime }
                                nps_user_id ={ res.nps_user_id }
                                nps_user_loc ={ res.nps_user_loc }
    
            //потом готовый аррей засовываем в стейт
            that.setState({rowsActNonPat : ActNonPat})

 render() {

             {this.state.rowsActNonPat} //готовый список элементов-кнопок
  • Вопрос задан
  • 3873 просмотра
Решения вопроса 1
ukko
@ukko
php, js (es6), golang, symfony, react
1. Отсортировать данные
2. Сформировать массив ReactElement из отсортированных данных
3. Элементы сами корректно отрендерятся..
4. PROFIT :-)

PS Возможно вы имели какой-то особенный кейс, который я не заметил, уточните пожалуйста
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы