да хоть груви с Circumflex, чем экзотичнее зверинец - тем веселей поддержка@grigori, спринг != джава, есть тот же play framework, скажем
Последнее редактирование:
да хоть груви с Circumflex, чем экзотичнее зверинец - тем веселей поддержка@grigori, спринг != джава, есть тот же play framework, скажем
Смотря что подергать. Если нужно атрибуты вытащить - есть механизм ссылок. Если нужно встроить плагинчик который будет менять DOM, допустим wysiwyg, в render необходимый минимум разметки, инициализация в componendDidMount, shouldComponentUpdate => false. То есть реакт никогда не полезет обновлять dom и не наткнется на чужой html. Пример оберткиКстати, а как на реакте без говнокода решаются такие проблемы, когда нужно подергать реальный DOM? Вот скажем, чтобы посчитать реальный boundingClientRect и красиво спозиционировать какой-нибудь поповер.
Нет. Вообще с шаблонизаторами работал последний раз год назад, наверное. Я про то и говорю - нужно исключительно json api. Все view в современном мире берет на себя клиент, а тк мир не совершенен и есть поисковики, не понимающие js, появились технологии позволяющие не только DOM обновлять, но и html генерить. Из абсолютно такого же кода.вы писали с шаблонизаторами на java?
Именно менять. С shouldComponentUpdate понятно, но это по сути отказ от плюшек.Смотря что подергать. Если нужно атрибуты вытащить - есть механизм ссылок. Если нужно встроить плагинчик который будет менять DOM, допустим wysiwyg, в render необходимый минимум разметки, инициализация в componendDidMount, shouldComponentUpdate => false. То есть реакт никогда не полезет обновлять dom и не наткнется на чужой html. Пример обертки
Так presentation никуда не делся. Во-первых, он есть на клиенте. Во-вторых, сборка json-а из пачки моделей - это тоже Presentation layer.Нет. Вообще с шаблонизаторами работал последний раз год назад, наверное. Я про то и говорю - нужно исключительно json api. Все view в современном мире берет на себя клиент, а тк мир не совершенен и есть поисковики, не понимающие js, появились технологии позволяющие не только DOM обновлять, но и html генерить. Из абсолютно такого же кода.
Из такого подхода туча плюсов, Symfony/Yii/Laravel-Forms - в мусорку. Assetic/Huetic - в мусорку. Всяческие переводы, вообще все что V в MVC - в мусорку.
гм, если заранее не известны размеры - тебе в любом случае надо это дело срендрить, узнать размеры, перерендрить. Других вариантов нет ни на одном фреймворке. Единственное что мне в реакте больше всего нравится - тебе не нужно всякие глупые el.classList.add('foo'), el1.hide() и тому подобные штуки делать. Просто обновляешь стейт, тем самым форсишь render, внутри которого все и выводишь.Вот как это красиво сделать на реакте?
Да это понятно, но насколько вменяемо будет менять стейты из кода, напрямую работающему c DOM, особенно по какому-нибудь window resize event? Не вылезут ли тут race conditions во все поля? Может, какой-то лок надо делать?если заранее не известны размеры - тебе в любом случае надо это дело срендрить, узнать размеры, перерендрить
У меня не было такой проблемы. Надо понимать, что react не 1.0, так что в предыдущей версии, на пример, были проблемы с серверным пререндером select с defaultValue. Я только issue открыл, оказалось уже пофиксили.Да это понятно, но насколько вменяемо будет менять стейты из кода, напрямую работающему c DOM, особенно по какому-нибудь window resize event? Не вылезут ли тут race conditions во все поля? Может, какой-то лок надо делать?
ничего не будет. все изменения собираются в кучку. Поэтому у setState интерфейс такой: setState(state, callback);Ну это ясно... Я вот думаю, что будет, если евент прилетит аккурат между componentWillUpdate и componentDidUpdate.
Т.е. по любому URL можно собрать обычную html страницу, а дальнейшие перемещения по сайту осуществляются без перегрузки всей страницы?А node.js еще ко всему прочему позволяет шарить код между клиентом/сервером (валидация, шаблоны) и делать universal приложения. Это когда вместо пустого index.html по запросу отдается весь контент, а дальше работает как обычное SPA. Такого без node.js либо невозможно, либо сложно, а значит дорого, сделать.
Не переварило. Тупо белый экран. Но хотя бы не упало - уже радует.ну вот тебе сайтик на реакте
Дык ему ж сумочку жене, тут не до современных планшетов. На обед хватает - и то счастье.У тебя там что, какой нить jelly bean со штатным браузером?
Надо сказать, там в ContentEditable «стандартизированость» на уровне времен IE5.5А насчет ContentEditable есть мнение, что DOM менять как раз не надо. Я тут аж два специализированных визивига писал, многократно желал всяческих кар придумавшему этот гребаный execCommand и упоротые ranges, с мнением полностью согласен. Реакт на эту идею должен очень неплохо лечь.
ORM для базы - есть, шаблоны с версткой - тоже, валидация - осталась, роутинг - тот же.тк мир не совершенен и есть поисковики, не понимающие js, появились технологии позволяющие не только DOM обновлять, но и html генерить.
Нет, валидацию они сами генерят вручную, т.е. написали много кода, с нуля...@stalxed, просто зная, что там twig, могу предположить, что на клиенте используется одна из его реализаций - twig.js/swig.js. Ну а дальше дело техники, протащили роуты, протащили валидацию, судя по доке там require.js и chaplin в качестве фреймворка..
{% block content_data %}
{% set generalData %}
{{ form_row(form.name) }}
{{ form_row(form.description) }}
{% endset %}
{% set id = 'order-action' %}
{% set data = {
formErrors: form_errors(form) ? form_errors(form) : null,
dataBlocks: blocks
} %}
{{ parent() }}
{% endblock content_data %}