DrunkMaster
@DrunkMaster

Реализация реактивности на JS/JQ?

Понятно что реактивность нужна не всем, но если надо то, во фреймворках это реализованно хранением ссылок на нужные объекты в памяти, но в случае необходимости ведь можно на JS/JQ сделать что-то типа getElementsByClassName() и в цикле и отслеживать изменение необходимого количества инпутов. Или в библиотеках типа React и фреймворках это просто скрыто из коробки под капотом и разница только в том, что самому с эти не надо заморачиваться? Или там реализован как-то более эффективный, механизм хранения зависимости полей между друг другом?
  • Вопрос задан
  • 1288 просмотров
Решения вопроса 3
Не знаю это ответ или дополнение к вопросу.
1) Разве есть из коробки реактивность в реакте ? Сейчас скрещивают Redux + RX Js https://github.com/redux-observable/redux-observable , еще есть такая штука https://github.com/christianalfoni/rxjs-react-component
2) Из коробки RX.js прикручен к Angular

3) "сделать что-то типа getElementsByClassName() и в цикле и отслеживать изменение необходимого количества инпутов..." звучит как двусторонний датабиндинг в ангуляр первом. Во втором ангуляре отказались от использования двустороннего биндинга по умолчанию, потому, что легко поиметь проблемы с производительностью. По моему это далеко не реактивность.

4) Есть Rx.js, ClojureScript, на крайняк Bacon.js может стоит почитать про них ?
Ответ написан
@hurgadan
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
Вместо проверки по таймеру можно подписываться на события.
document.querySelector('select#model').addEventListener('change', function(){
  // значение изменилось
})

$('select#model').on('change', function(){
  // значение изменилось
})
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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