React Material UI - как готовить хитрое состояние
От: VladCore  
Дата: 25.02.19 14:37
Оценка:
Надо к примеру трекать состяние связанных компонентов внутри одного компонента. т.е. flux и dispatcher не нужен.

Сейчас в this.state.myList есть массив объектов с кучей свойств в каждом элементе массива и свойством uniqueKey. он (массив) в render() отображается в массив Buttons. Все свойства элемента отображаются развесистымы div-ами внутри каждый Button. Ксассика вобщем.

Для упрощения хочется трекать активную кнопку из списка дополнительно к встроенному в браузер поведению — что бы при уходе фокуса кнопка оставалась с кастомным статусом isActive.

ещё что бы при клике на другую кнопку перерендывались только две — старая активная и новая активная. Но для этого при клике по одной кнопке надо лезть в свойста старой активной кнопки не нравится мне так.

В идеале хочется что б они не перерендывались а просто у старой отбирался мой кастомный css-класс а новой кликнутой кнопки добавлялся этот мой кастомный css-класс. Для этого надо как то где то помнить dom-id старой нажатой кнопки и юзать jquery. Это нормально юзать jquery в обработчике onClick?

В идеале нужен просто компонент, типа такого прототипа:
let buttonGroup = new ButtonGroup(id_of_parent_container, active_Css_ClassName)

этот buttonGroup сам находит все кнопки внутри элемента id_of_parent_container. подписывается на click. в обраюотчике click манипулирует css-классами.

ещё у него будет метод buttonGroup.forceSelect(theUniqueKey, button => return button.uniqueKey === theUniqueKey);


я привык что В jQuery есть доступ ко всему DOM а в реакте — нет. непойму как сделать это не изобретая фреймворков типа такого. Выглядит клёво но прорисовка и горизонтальный бар мне не надо. и желательно без jQuery.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.