2016-12-20 26 views
1

Если в цикле используется виртуальный dom, и так происходит React, то почему я не могу использовать React Components внутри приложения Cycle.js?Почему я не могу использовать компонент React в приложении Cycle.js?

Можно ли использовать существующие компоненты React в компонентах Cycle.js?

Этот вопрос относится к: Higher order FRP with React - why is it not happening?

+1

Я не совсем уверен, почему вы спрашиваете об этом здесь, а не о трекерном вопросе. Этот вопрос имеет очень высокий фактор «можно только ответить мнениями», поэтому он чувствует себя не по теме. Очевидный вопрос: «Действительно ли ваше утверждение истинно». Используют ли они тот же самый виртуальный dom (их много) с точно такими же API и моделью программирования (опять же, их много)? Если они этого не сделают, у вас есть свой ответ. –

+0

Правильно, но почему они не используют тот же VDOM? Было бы разумно использовать Cycle.js с React вообще - я подозреваю, может быть, нет? Если нет, почему бы и нет? Почему Cycle.js несовместим с React? Только потому, что использует другой VDOM? Или есть еще одна причина? Возможно, даже если бы он использовал тот же VDOM, все же не имеет смысла использовать React и Cycle.js вместе, если это так, я задаюсь вопросом, почему бы и нет? Почему бы не повторно использовать существующие компоненты React в Cycle.js? Было бы слишком дорого заплатить (с точки зрения сложности упаковки) за не слишком большую выгоду (повторное использование существующих компонентов React)? – jhegedus

+0

«virtual dom» - это всего лишь концепция, и вы можете реализовать эту концепцию в миллионах способов, специально разработанных для того, что нужно для кода. Вопрос гораздо лучше: «Почему бы им использовать ту же самую виртуальную структуру данных и API? Они делают то же самое?», А не думать об этом по-другому. Если они не делают то же самое, то использование одной и той же виртуальной dom-реализации неэффективно (из-за отсутствия специальных вызовов API или раздувания от функциональных возможностей, которые не нужны) –

ответ

2

Поскольку РЕАКТ поддержка веб-компонентов отсутствует. См https://github.com/facebook/react/issues/7901 и http://staltz.com/react-could-love-web-components.html

Это технически возможно построить Реагировать поддержку в Cycle.js, но тогда вы можете начать задавать ли другие механизмы, такие как Эмбер или угловые или Aurelia должны начать делать то же самое из коробки. Затем вопрос можно было бы еще расширить, попросив компоненты Aurelia поддержать в Ember. Поэтому поддержка строительства компонентов «Foo» в рамках «Бар» является контрпродуктивной. Веб-компоненты - разумный способ справиться с этим.

+0

Спасибо! Вам нужно изучить это. – jhegedus

+0

Hmm https://facebook.github.io/react/docs/web-components.html – jhegedus

+0

«Чтобы использовать веб-компонент в реактиве, вы должны напрямую подключить прослушиватель событий к React ref для этого WC». Таким образом, это «просто» проблема производительности? – jhegedus

2

Cycle.js достаточно общий, чтобы использоваться по другим инфраструктурам/библиотекам. Фактически есть redux-cycle-middleware, который позволяет использовать React/Redux вместе с Cycle.js. С помощью этого промежуточного программного обеспечения вы не будете использовать Cycle для обработки побочных эффектов DOM; вместо этого вы будете использовать React. Затем, когда вам нужно обрабатывать другие побочные эффекты (HTTP, WebSockets, все, что не является DOM ...), вы можете использовать Cycle.js.

 Смежные вопросы

  • Нет связанных вопросов^_^