Andrey Suha, если я перенесу все на сервер, то должно заработать? без сборщика
и как тогда если я в index.html добавляю теги скриптов ссылками, почему они добавляются, это как бы тоже посторонний файл js, почему к нему доступ есть?
не через JS - а по протоколу HTTP посредством AJAX,
я так понимаю у нас в all все запросы по http, поэтому зачем ты это уточнил, что именно http?
и второе, по средствам ajax ты написал, а вот как ты можешь отправить ajax запрос без js?
Klein Maximus, слушай, можешь пояснить?
провайдер контекста будет перерендериваться, когда изменятся дети. Если дети будут постоянной React-нодой, то перерисовки не будет. Конечно, надо за этим следить.
вот это не понимаю,в том примере что ты скинул, у нас есть стейт и мы его потом меняем, там то ясен пень, что все перерендерится, тк корневой элемент перерендерится,
а вот когда дети меняются, то мы никак же не можем верхнеуровневые компоненты заставить перерендерится, поэтому я не понимаю, как изменение детей может заставить перерендерится провайдер.
а можешь сказать почему будет рендерится только consumers?
насколько я себе представляю, у корневого компонента поменяется стейт, значит он запустит метод рендер и все его дети удалятся и будут рендерится заного
beDenz, 2) я имел в виду, что в компоненте провайдера от редакса, есть стейт, в котором все хранится и при каждом диспатче у нас меняется стейт и он как раз и заставляет всех перерендерится и отдает всем новые пропсы.
а опираясь на пример из доки реакта про контекст, получается что в диспатче у нас лежит callback который меняет стейт.
я не уверен, что это правильно, тк вот только сейчас надумал. мб верно, мб нет
beDenz, насчет вашего 1го ответа: тогда получается без локального стейта вообще никак не обойтись.
насчет второго ответа: я имел в виду, что когда используем редакс, то там оборачиваем наше приложение в провайдер и скорее всего он выступает вроде локального стейта, который заставляет подменить все значения в контексте и тем самым заставить перерендерится все нижние компоненты, которые вскоре получат новые пропсы
MelPosp, да, тупанул, тебе надо перебрать uiField и на каждый навесить обработчик
const elements = document.getElementsByClassName('ui-field');
for(let a = 0; a < elements.length; a++ ) {
let uiField = elements[a];
uiField.addEventListener('keyup', function () {
Чувак, смотри, var uiField = document.getElementsByClassName('ui-field')[0];
getElementsByClassName он возвращает массив из элементов, а ты берешь только первый инпут через [0]. попробуй убери [0] и обработчик должен навеситься на все инпуты, я не проверял, но думаю, что заработает