@react_js

Страница 136 из 5115
Sergey
29.05.2016
20:10:34
Кто-нибудь делал 3d-party виджеты на реакте? Были ли конфликты с версиями реакта? Стоит ли выность в таком случае приложение в iframe?
Правильно понимаю, что юзкейз - включяем виджет на страницу, используем React, импортированный на странице, но при этом не знаем какой он версии?

S
29.05.2016
20:11:45
Правильно понимаю, что юзкейз - включяем виджет на страницу, используем React, импортированный на странице, но при этом не знаем какой он версии?
неправильно. пользователь подключает наш скрипт, в нашем скрипте загружается в том числе реакт и приложение инициализируется в какой нибудь ноде.

ENAMETOOLONG
29.05.2016
20:12:58
http://www.rwblackburn.com/iframe-evil/ http://andyshora.com/iframes-responsive-web-apps-tips.html

Google
S
29.05.2016
20:15:31
Sergey
29.05.2016
20:16:49
Хорошо, ещё уточню: проблема в том, что вы используете React загруженный на странице через script тэг, и боитесь что на странице может быть ещё один?

trump ? trump ? hillary
29.05.2016
20:17:06
да точно
откуда у них бабло?

trump ? trump ? hillary
29.05.2016
20:17:24
я на хабр предлагаю статью про это, кстати

ENAMETOOLONG
29.05.2016
20:17:38
и что же в ней хорошего?)
я о второй говорил)

S
29.05.2016
20:23:04
Хорошо, ещё уточню: проблема в том, что вы используете React загруженный на странице через script тэг, и боитесь что на странице может быть ещё один?
Я делаю виджет с большим количеством функционала, виджет встраивается на сайт клиента. Проект пишется на реакте (потому что сложные интерфейсы). Бандл с нашем кодом включает реакт в том числе, CDN-ы тут ни при чем. Столкнусь ли я со следующими проблемами, если не буду изолировать свой виджет внутри iframe, а буду напрямую херачить в DOM сайта клиента? : - коллизия с версиями реакта (на сайта клиента тоже может быть реакт) - ахтунги от babel-polyfill-ов (типа патчинга прототипов нативных объектов, это может быть неочевидно для кода на сайте клиента)

я о второй говорил)
я тебе о второй и говорил

S
29.05.2016
20:26:07
я тебе о второй и говорил
- Chrome has a weird fixed scrollbar bug - iframe-у можно выставить высоту, скролло у него не будет - Mobile Safari resizing iframes by default, and you can't override it! - пофикшено - Avoid fixed position elements at all costs. - зачем фиксированные элементы внутри iframe? - CSS Hardware Acceleration appears to be affected - в этом нет ничего плохого, и оно не включено по дефолту Вообще статья заточена под мобильные кейсы

Sergey
29.05.2016
20:26:56
Вообще, именно под такие юзкейзы разрабатывается стандарт Web Components

ENAMETOOLONG
29.05.2016
20:31:13
- Chrome has a weird fixed scrollbar bug - iframe-у можно выставить высоту, скролло у него не будет - Mobile Safari resizing iframes by default, and you can't override it! - пофикшено - Avoid fixed position elements at all costs. - зачем фиксированные элементы внутри iframe? - CSS Hardware Acceleration appears to be affected - в этом нет ничего плохого, и оно не включено по дефолту Вообще статья заточена под мобильные кейсы
Мне пришлось столкнуться с тремя кейсами, когда была необходимость встраивать SPA во фрейме, причем SPA было адаптивное, и очень неприятно было фиксить баги с фреймом на мобильном сафари, который досих пор не фиксится. Единого решения для моббраузеров, увы не нашлось.

Google
Vladimir
29.05.2016
22:28:31
Но вообще 3rd party на реакте - это сильно

Andrey
30.05.2016
05:11:17
С другой стороные, если не iframe - то очень сильно связаны руки в плане технологий
А где идет соприкосновения разных версий реакта? Если самому вебпаком переименовать эти переменные? На сколько я помню в react-dom есть такая одна переменная

Tim
30.05.2016
05:22:13
Для чего в виджете иметь отдельный инстанс реакта? Не проще ли добавить реакт в зависимости виджета? Это как во всякие jQuery календарики встраивали бы сам jQuery

Evgeny
30.05.2016
05:24:25
ну, чужой сайт – это очень агресивная среда. Стили, которые могут влиять на виджет, скрипты, библиотеки разных версий. Вопрос конечно в функционале виджета и нужен ли там реакт вообще

Andrey
30.05.2016
05:27:01
Для чего в виджете иметь отдельный инстанс реакта? Не проще ли добавить реакт в зависимости виджета? Это как во всякие jQuery календарики встраивали бы сам jQuery
Не правильная аналогия, тут скорее, это как в сторонние виджеты перезвонить/ лайков и т.д. встраивали бы jquery, но так и делают же))

Kich
30.05.2016
05:27:17
Виджет на реакте. Мощно. Туда надо ещё mobx или redux добавить, а можно ещё кучу всяких модных штук и тогда вообще огонь будет :)

Алексей
30.05.2016
05:27:51
ну, может тут виджет = обычный реактовский модуль из компонентов

просто более комплексный

Andrey
30.05.2016
05:28:55
По описанию, это скорее самодостаточный виджет на сторонних сайтах.

Алексей
30.05.2016
05:29:13
тогда это не серьезно

тащить весь реакт ради одного виджета

Kich
30.05.2016
05:29:21
Может быть не добавлять реакт в зависимость для бандла виджета. А поставлять виджет с react.js

но тоже как-то не айс

150 кб скриптов для виджета. Жирно как-то

Andrey
30.05.2016
05:33:15
тащить весь реакт ради одного виджета
Да, согласен, нужно было брать легкий аналог, Аля riot и подробное, мало весит и есть двуфакторный биндинг

Tim
30.05.2016
05:33:49
Можно делать проверку на наличие реакта на странице и в случае его отсутствия тащить его из CDN

Kich
30.05.2016
05:34:06
https://github.com/Lucifier129/react-lite

Google
Andrey
30.05.2016
05:35:06
Можно делать проверку на наличие реакта на странице и в случае его отсутствия тащить его из CDN
Тогда и на версию тоже нужно чекать, так как в будущем могут поломать совместимость и опять возратится он к тому, что нужно будет изолировать

https://github.com/Lucifier129/react-lite
Он полностью повторяет, вырезая только серверный рендеринг и чек на пропсы? Нужно будет попробовать поставить его)

Kich
30.05.2016
05:46:56
похоже на то.

Evgeny
30.05.2016
05:47:12
https://developit.github.io/preact/

S
30.05.2016
06:32:13
И реакт мы запихиваем в бандл

150 кб скриптов для виджета. Жирно как-то
Картинки больше весят. Гзипованный реакт, около 30к вроде

Pavel
30.05.2016
06:49:04
Ребята подскажите плиз идею как отрисовать многоуровневое меню неопределенной вложенности?

Andrew
30.05.2016
06:49:22
Рекурсия?

Pavel
30.05.2016
06:49:34
отрисовываю дерево папок

я не могу понять как она к компонентам применима

это же не конкатенация строк и не факториал)

Alexander
30.05.2016
06:50:53
Ветка это будет отдельный компонент

Pavel
30.05.2016
06:51:21
верстку я рекурсией рисую без проблем

вот с компонентами затык

Алексей
30.05.2016
06:52:28
А что сложного? У тебя есть дерево папок

Вот каждый узел - это компонент

Pavel
30.05.2016
06:52:42
+ у меня же там ul li

Andrew
30.05.2016
06:52:43
Компонент сам себя вызывать будет

Pavel
30.05.2016
06:52:54
а если несколько блоков то их нужно пихать в родительский

Google
Alexander
30.05.2016
06:53:16
Вопрос с другой стороны, зачем тебе там компоненты?

ты же уже рисуешь ветку

Pavel
30.05.2016
06:54:19
мне нужны события при нажатии

на раскрытие и на папку

Alexander
30.05.2016
06:55:04
Оберни li в компонент

Алексей
30.05.2016
06:55:45
Смотри, у тебя есть компонент - получается лист дерева твоего

Alexander
30.05.2016
06:55:49
там где ты рисуешь <li>some text</li> рисуй <ComponentLI>some text</ComponentLI>

Алексей
30.05.2016
06:56:08
даже не лист, а часть дерева

Admin
ERROR: S client not available

Алексей
30.05.2016
06:56:22
он принимает узел, которые содержит в себе инфу, о себе + инфу о дочерних элементах

компонент рисует инфу о узле + в цикле вызвыет отрисовку всех детей

а дети это те же самые компоненты - которые узлы рисуют

вот тебе и рекурсия + компоненты

Pavel
30.05.2016
06:58:58
спасибо ребят, попробую сейчас переварить это все:)

Алексей
30.05.2016
06:59:12
class Node extends React.Component { renderNodeChildren(node) { } render() { let {node} = this.props; return ( <div> {node.name} {this.renderNodeChildren(node)} </div> ) } }

renderNodeChildren(node) - как раз та функция, которая отрисовывает детей узла

Evgeny
30.05.2016
06:59:46
В догонку глянь – http://stackoverflow.com/questions/28205317/how-to-render-child-components-in-react-js-recursively

Taras
30.05.2016
07:05:44
https://github.com/lhorie/mithril.js а кто пробовал? как впечатления?

from
30.05.2016
07:24:34
Ребята подскажите плиз идею как отрисовать многоуровневое меню неопределенной вложенности?
вот ещё примерчик — https://vuejs.org/examples/tree-view.html. Он хоть и не на реакте, принцип тот же и наглядно очень

Pavel
30.05.2016
07:54:00
Все психологический страх ушел, сделал так: const ComponentUl = props => { if (props.folders) { return ( <ul> {props.folders.map(folder => <ComponentLi {...folder} />)} </ul> ); } return null; }; const ComponentLi = props => { const folder = props.folder; let children = ''; if (props.children) { children = <ComponentUl folders={props.children} /> } return ( <li> {props.title} {children} </li> ); };

Google
Pavel
30.05.2016
07:54:04
все работает

спасибо:)

Alexander
30.05.2016
07:57:23
Pavel ??

Vitaliy
30.05.2016
07:57:36
лучше id

Evgeny
30.05.2016
07:57:56
Pavel
30.05.2016
07:59:29
спасибо, теперь почти идеально)

trump ? trump ? hillary
30.05.2016
08:27:49
http://www.strawpoll.me/10348977

Xenobyte
30.05.2016
09:55:59
Привет всем. Может кто помочь с draft.js, не могу понять как его с redux связать. Можете на просто примере с plaintext объяснить? https://github.com/facebook/draft-js/blob/master/examples/plaintext/plaintext.html

ENAMETOOLONG
30.05.2016
10:16:58
Dmitry
30.05.2016
11:24:49
ребята, привет, есть идеи как реализовать компонент, "склоняющий" слово в зависимости от цифры? для понимания "вам осталось _ дней"

anoru
30.05.2016
11:27:34
https://github.com/blakeembrey/pluralize

даже либа есть))

Dmitry
30.05.2016
11:28:51
обожаю эту либу))

Ҫѐҏӗѫӑ
30.05.2016
11:31:46
лучше formatjs.io юзать

а, это про другое немного

прикольно

Страница 136 из 5115