
Adel
07.02.2017
12:33:25
Решалось бы

Дмитрий
07.02.2017
12:33:29

Dmitry
07.02.2017
12:33:39
Если у тебя в компоненте 50 дырок под произвольный хтмл, то такое ощущение, что сам компонент ничего не делает)
Или делает слишком много

Google

Adel
07.02.2017
12:33:53

Дмитрий
07.02.2017
12:34:00
Не надо xlm, плз ?

Adel
07.02.2017
12:34:36
Как же ты с jsx живешь

Дмитрий
07.02.2017
12:35:21
Между xml и jsx большая разница

Adel
07.02.2017
12:35:50
Ну то есть либо у тебя мешанина из xml и кода, либо просто xml

Дмитрий
07.02.2017
12:35:56
Ещё с ангуляровскими шаблонами сравнить и сказать, что там тоже xml-подобный синтаксис, значит всё такое же)

Adel
07.02.2017
12:36:25
Обожди, мы не туда ушли
Вопрос был как передать проперти компоненты в компонент

Дмитрий
07.02.2017
12:43:10
Что такое проперти компонент?

Adel
07.02.2017
12:44:49

Дмитрий
07.02.2017
12:45:32
Вот это и есть зло

Google

Дмитрий
07.02.2017
12:45:41
Он же вообще ничего не делает

Adel
07.02.2017
12:45:48

Artur
07.02.2017
12:45:54

Дмитрий
07.02.2017
12:46:03
Это тег должен быть, а не компонент

Adel
07.02.2017
12:46:07
Вопрос в том, как их передать в компонент чтобы при этом их различать

Дмитрий
07.02.2017
12:46:41
Сделать нормальный отдельный компонент VerticalLayout, управляющий своими чайлдами, не?

Adel
07.02.2017
12:46:43
Не
Это вот как раз плохая идея

Дмитрий
07.02.2017
12:47:08
Чем?

Artur
07.02.2017
12:47:39
А какая идея хорошая, расскажите плиз)

Adel
07.02.2017
12:49:09
Чем?
Тем, что это поведенческий паттерн, проперти-компонент отвечает только за часть проведения нашего компонента, причем заменяемая
А в твоем случае это будет только лэйаутинг и все
Но если вперся, то нужно минимальное связывание

Дмитрий
07.02.2017
12:50:20
А что ты ещё хочешь вложить в свойство layout?
Если тебе нужны пресеты, то это делается иначе и без лишних компонентов вообще
Я не понимаю чем вам не нравится пропс
type = 'Vertical' | 'Horisontal'

Google

Adel
07.02.2017
12:50:51
Но внешне ужасно выглядит и путает код

Дмитрий
07.02.2017
12:51:11
Связность надо уменьшать, а не удерживать

Mikhail
07.02.2017
12:51:55

Adel
07.02.2017
12:51:59

Дмитрий
07.02.2017
12:52:18
Если нужен вертикальный лейаут с gap = 10 то делать для этого компонент не обязательно
Это оверкилл

Adel
07.02.2017
12:52:37

Дмитрий
07.02.2017
12:52:46
Да

Adel
07.02.2017
12:52:52

Дмитрий
07.02.2017
12:52:55
Это называется низкая связанность

Adel
07.02.2017
12:53:08

Дмитрий
07.02.2017
12:53:39
const mainPreset = { layout: 'Vertical', gap: 10 }
<Layout {...mainPreset} />

Adel
07.02.2017
12:54:11
Отличная слабая связь, да

Ruslan
07.02.2017
12:55:02
Правильно ли я понимаю, что extractTextPlugin > 2.x.x теперь не поддерживает эту магическую строковую запись для цепочки loader, а хочет все в виде объекта. Если да, то есть ли пример для цепочки?

Дмитрий
07.02.2017
12:56:02

Google

Дмитрий
07.02.2017
12:56:32
Можно так же передавать все пропсы дальше, если тебе нужен просто контейнер

Adel
07.02.2017
12:56:33
Пример?

Michael
07.02.2017
12:56:41
Подскажите по мультиредьюсеру, он работает если сервер с бэкэндом дергать?

Дмитрий
07.02.2017
12:56:51
Я тебе его уже написал
Суть в том, что безразлично внутреннее устройство компонента, это подход к внешнему интерфейсу

Michael
07.02.2017
12:58:09

Дмитрий
07.02.2017
12:58:37

Nikolay
07.02.2017
13:00:06
простите

Admin
ERROR: S client not available

Дмитрий
07.02.2017
13:00:43
Ок)

Michael
07.02.2017
13:00:55
Не тебе ?
Ну, посмотрел еще раз, да не нашел :)

Adel
07.02.2017
13:01:04

Michael
07.02.2017
13:01:15

Adel
07.02.2017
13:01:21
Это зашивание жесточайшее

Дмитрий
07.02.2017
13:01:41
Набор пропсов?
Он не регламентирован

Adel
07.02.2017
13:02:46
Эм
Ладно, позже напишу разницу как я ее вижу
Видимо без нормального примера ее не видно

Google

Дмитрий
07.02.2017
13:04:00
const Component = ({ children, ...props }) => <any><Inner {...props}>{children}</Inner></any>

Adel
07.02.2017
13:04:32
Плохо, иннер зашит

Дмитрий
07.02.2017
13:04:38
Внутренняя логика может быть какой угодно. Я не понимаю
Он может хоть рекомпозом на лету генерироваться, это вообще не важно
Я по прежнему не вижу смысла передавать в виде компонента то, что реализуется объектами без нарушения инкапсуляции

Adel
07.02.2017
13:07:19
Ну лан потом напишу пример, где это играет роль

Дмитрий
07.02.2017
13:07:23
Можно хоть другие компоненты передавать и внутри рендерить, хоть что)
<Dropdown item={Item} />

Sergey
07.02.2017
13:12:32
А другие варианты?
Передавать компоненты в props. В material-ui очень много компонентов так кастомизируются (IconMenu, например)

Дмитрий
07.02.2017
13:13:21
Я выше как раз такой кейс написал)

Sergey
07.02.2017
13:13:51
А я не читал, я сразу ответил :)

Artur
07.02.2017
13:15:51

Дмитрий
07.02.2017
13:17:17

Artur
07.02.2017
13:17:26
Хорошо, скажите еще такую штуку, как-то можно в потомков компонента внедрить через сам компонент свойство не передавая его явно в компонент и стоит ли? У https://github.com/jquense/react-bootstrap-modal/ так компонент Dismiss сделан как-то хитро.

Дмитрий
07.02.2017
13:21:24
Это какой? Я уже запутался
const mainPreset = {
layout: 'Vertical',
gap: 10,
icon: {
component: UserIcon,
colors: scheme
}
}
<Layout {...mainPreset} />

Vladimir
07.02.2017
13:21:26
напомните группу по css?

Andrey
07.02.2017
13:23:59
посоны

Artur
07.02.2017
13:31:55
Казалось бы, что может быть проще?)


Andrey
07.02.2017
13:32:44
Хотим сделать сервер-сайд рендеринг, но возникла проблемка со стилями.
У нас есть НЕ НАШИ компоненты внутри которых вот такие конструкции
import styles from './styles.pcss';
import classNames from 'classnames/bind';
const cx = classNames.bind(styles);
вебпак настроен вот так:
module{ loaders: [
{
test: /\.p?css$/,
loaders: ['style', 'css?modules&localIdentName=[hash:base64:10]!postcss'],
},
...
]
После компиляции мы получаем бандл со всеми компонентами, картинками и стилями внутри — всё в одном файле.
затем мы юзаем этот "бандл" внутри сервер-сайд рендерера, и получаем ошибку.
Стектрейс говорит, что не может найти document.createElement ... зафейкали этот метод, и оказывается оно в <head> пытается присунуть теги <style> с ЦСС-СТИЛЯМИ :(.
Вот проблема в том, что не понятно как сервером рендерить стили в этом случае. :( Ведь сервер то не умеет в DOM.
подскажите какойнить обходной манёвр ?
не?