ThunderCat, *Глубокий вдох*.
Не от любой формы. А только от формы существующей в данный момент. Второй код создает у вас новую форму. Если код привязки обработчика выполнится раньше то на этой форме ничего нету.
А он вполне может выполниться раньше, потому что выполнение js создающего новую форму скорее всего происходит уже после того как DOM готов (но чтобы быть уверенным на сто процентов нужно больше кода
Нужно понимать что выборки по DOM из jquery вообще говоря "мертвые" то есть не обновляются сами по себе а делаются один раз по существующему дому. В DOM API есть некоторое количество самообновляющихся "живых" выборок, но не стоит подразумевать что любая выборка живая то есть автоматически обновится когда вы что-то в дом добавите. И живые выборки местами почитают за ошибку дизайна API потому что они драматически мешают ускорить DOM в наше время, не привыкайте к ним
Создает эвент. С этим все нормально.
Ваш верхний код срабатывает раньше нижнего? Тогда это происходит потому что на форме созданной из js обработчика нет. Потому что не было этой формы когда обработчик вешали.
если опустить редакс и обработку ошибок, то отправляем запрос любым способом которым у вас отправляет запрос в componentDidMount, когда он завершится делаем setState с результатом запроса. Если делать это с редаксом то так как запрос действие асинхронное, то экшн у нас не один а два (стартовать запрос, обработать результаты) а то и три (обработать ошибку). Но вообще для этого принято использовать соответствующую мидлварь. В документации впрочем подробно: https://redux.js.org/docs/advanced/AsyncActions.html
Но если вы не понимаете как запрос сделать и что за запрос то то что выше можно не читать потому что сначала надо изучить основы.
Растишка, поясню свою мысль: есть допустим админское апи и два непустых множества юзеров пользующихся апи, "наши" которые делают обычно правильные, и которым можно дать по шапке если что и "не наши" которые вроде как доверенные но не совсем (партнеры всякие).
Соответственно есть кейс отличать наших юзеров от не наших чисто для отладки и быстрого анализа логов. (Понятно что для бизнеслогики это ненадежно).
Вот эту задачу вариант с кастомным заголовком - как мне кажется решает, потому что такая дополнительная семантика на кастомный заголовок легко ложится Понятно что можно решить ее провалившись дальше по слоям абстракции в базу, но на заголовки посмотреть можно проще и раньше.
Если одно из множеств пустое, проблемы не возникает. Если число "не наших" юзеров очень мало, то она почти не возникает.
Все три схемы в каком-то смысле рабочие и семантичные, я все три в действии видел и можно уже брать и хреначить любую. Но дьявол обычно любит прятаться в деталях, и мне хотелось бы попробовать понять в каких именно он может оказаться здесь.
Griboks, теперь по порядку. Я не знаю фреймворка который подходил бы вам точь в точь. Но не исключаю что они есть впрочем. Я бы по быстрому глянул mui и bootstrap. Они оч маленькие, там может не хватить того что есть.
Потом можно глянуть в uikit. Потом в semantic ui, но он по-моему в довольно тухлом состоянии, полагаться на него не советовал бы.
Но моя специализация - корпоративные чудовища и конструкторы, а не легковесные мелкие рыбки, поэтому может вам еще чего посоветуют.
Про видеоплееры - большинство ui фреймворков не любит трогать браузерные контролы для видео, и цссом они почти не кастомизируются. Если это очень надо, то обертку заменяющую стандартные бразуерные контролы придется искать отдельно.
Кстати сборка это не так сложно если попробовать, отказываясь от приключений с нодой бабелем и друзьями вы лишаете себя увлекательной игры "собери свой фреймворк". Потому что из коробки очень редко все как хочется.
Griboks, то есть Вы готовы что компоненты будут выглядеть и работать в целом, но не совсем так как вам хочется?
То есть вы ищете какой-то готовый ui-kit а не конструктор?
Какие именно это компоненты вы включаете в "стандартный набор windows-like" контролов?
Там должно быть что-то что должно показывать много данных? Гриды? Календарь? Какая-то графика? Или кнопки чекбоксы да дропдауны?
Нужно предусмотреть локализацию?
Какая поддержка браузерами нужна? IE? Мобильные браузеры? Последние браузеры? Что хочу то и поддерживаю?
Проект коммерческий? Допускается ли использовать ограничивающие лицензии?
Плевать ли в целом на размер либы? То есть норм ли затянуть монстра с кучей лишнего для какой-нибудь админки или юзер привередливый и надо чтобы у него все летало?
Alex McArrow, ок, подумав соглашусь что так семантичнее если основная цель API - внешнее использование.
У нас это побочная цель, грубо говоря дать доступ к админке некоторому числу доверенных партнеров, а не большому числу кого попало. Поэтому работать с ними как с обычными юзерами мы не обломаемся пока.
Как раз с npm-то просто быстро и удобно.
Вообще любой современный фреймворк можно и в стендалон виде получить, без предварительной сборки.
Но поддерживать это вам будет тяжеловато.
Первый вопрос, нужна коллекция готвоых компонентов которую будет не очень удобно расширять и фиксить самому или каркас с которым верти что хочу?
Второй вопрос, если это набор компонентов, то каких именно? Например необходимость в хороших гридах увеличивает сложность очень здорово.
sim3x, это понятно, но у нас приложение не б2б с блекджеком и банками.
Вы имели в виду, что смысл первого варианта в том числе в том что прокси режут заголовки а url обычно не режут?
Спасибо, об этом аргументе я не подумал. Впрочем я вижу как можно срезать кастомный заголовок случайно, но Authorisation чтобы срезать надо постараться вероятно.
В любом случае приложение расчитано скорее на юзеров-физиков а не на серьезный бизнес с упоротыми безопасниками.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Не от любой формы. А только от формы существующей в данный момент. Второй код создает у вас новую форму. Если код привязки обработчика выполнится раньше то на этой форме ничего нету.
А он вполне может выполниться раньше, потому что выполнение js создающего новую форму скорее всего происходит уже после того как DOM готов (но чтобы быть уверенным на сто процентов нужно больше кода