Comments 11
На первый взгляд, получается, что вы переизобрели и упростили изначальный синтаксис React. Именно то, во что компилируется JSX: React.createElement('div', props, content);
Выглядит, впрочем, забавно. Особенно, если бы на клавиатуре была клавиша с лямбдой ;)
Лямбда добавлена больше для фана, делать так совсем необязательно. Ну а если так хочется ее использовать, несложно настроить клавиатуру.
jsx pragma
плагин то можно писать тоже самое декларати… oh wait.Короче — миксанули recompose с
React.createElement...
, получилось забавно.А можно какой-то реальный юз-кейс что бы понять преимущество над jsx + recompose? хотя бы в плане размера бандла?
В этом проекте rol-vs-jsx вы найдете сравнение бандлов и замеры по скорости рендера.
В статье я упомянул о демо-проектах:
- rol-table, есть онлайн codesandbox версия;
- rol-todos.
Кстати, попробуйте собрать bundle локально (npm run build) — конечный размер будет не более: 7KB.
Но конкретно с recompose не стал делать, так как с появлением хуков (hooks) актуальность либы потерялась.
В RoL скорее вы будете делать не HOC, а HOF.
Эту забавную картину вижу уже не первый год :)
Весьма интересно наблюдать, как все те практики, которые 15+ лет назад в контексте пхп считались эталонным примером дна, теперь bleeding edge фронтенд разработки.
С другой стороны — понятно, куда это будет развиваться в дальнейшем. Точно так же, как на пыхе от неподдерживаемых ворохов начали отказываться в пользу нормальных фреймворков — так и на фронте это все случится со временем, т.к. приложения усложняются и те методы, которые были удобны для того, чтобы быстро накалякать read-only код для гостевухи, в 2019 все чаще работать перестают.
С-но, ведь и php тут был не первым — описываемым в статье подходам уже более полувека, так что это уже даже не второй этап переизобретения велосипедов.
Это стандартная ошибка считать jsx — шаблоном. Это не так, это js код, просто обернутый в «читаемый» псевдо-xml для удобства.
Ну так я ж про это и говорю — без шаблонов на пыхе и писали. Просто с обычным пых-кодом и обычными пых-функциями, которые плевались текстом через echo :)
Это был 100% реакт как он сейчас есть, поверьте, все те же ощущения, тот же flow :)
И в фейсбуке именно так писали — для удобства только XHP запилили, чтобы не теребить голый текст. А потом кому-то пришла в голову гениальная идея портировать это протухшее легаси на фронт, вместо того чтобы выбросить и переписать по-человечески :)
React on λambda