
Sergey
29.05.2016
20:10:34

S
29.05.2016
20:11:45

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

Sergey
29.05.2016
20:13:58

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

S
29.05.2016
20:17:08

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

ENAMETOOLONG
29.05.2016
20:17:38

S
29.05.2016
20:23:04

Sergey
29.05.2016
20:24:33
А вот скрипты на сайте клиента могут случайно залезть в ваш DOM, поэтому лучше изолировать в iframe


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

Google

S
29.05.2016
20:33:00
С другой стороные, если не iframe - то очень сильно связаны руки в плане технологий

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

Andrey
30.05.2016
05:11:17

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

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

Алексей
30.05.2016
05:26:52

Andrey
30.05.2016
05:27:01

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

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

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
И реакт мы запихиваем в бандл

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

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
все работает
спасибо:)

Kich
30.05.2016
07:55:50
реакт ругаться будет
(folder, index) => <CompoentLi {...folder} key={index} />

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
ребята, привет,
есть идеи как реализовать компонент, "склоняющий" слово в зависимости от цифры?
для понимания "вам осталось _ дней"

dimchez
30.05.2016
11:26:23

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 юзать
а, это про другое немного
прикольно