@react_js

Страница 917 из 5115
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
Что такое проперти компонент?

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

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

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, управляющий своими чайлдами, не?

Дмитрий
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
А что ты ещё хочешь вложить в свойство layout?
Это пока один из вариантов, который удерживает нормальную связность

Но внешне ужасно выглядит и путает код

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

Но внешне ужасно выглядит и путает код
Очень. При этом совсем не решает поставленных задач

Mikhail
07.02.2017
12:51:55


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

Это оверкилл

Дмитрий
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
Это называется низкая связанность
Это ты всю функциональность запихиваешь в наш родительский компонент

Отличная слабая связь, да

const mainPreset = { layout: 'Vertical', gap: 10 } <Layout {...mainPreset} />
А layout ты как кладешь в родительский компонент? В код зашиваешь?

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

Дмитрий
07.02.2017
12:56:02
А layout ты как кладешь в родительский компонент? В код зашиваешь?
Безразлично, для этого можно выбрать один из множества подходов

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
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: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
Передавать компоненты в props. В material-ui очень много компонентов так кастомизируются (IconMenu, например)
Ну, когда один компонент заменить - это логично. А когда у тебя свойство это массив, прости господи, других свойств?

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
const mainPreset = { layout: 'Vertical', gap: 10, icon: { component: UserIcon, colors: scheme } } <Layout {...mainPreset} />
А вот теперь представим, что у нас это где-то в начале render объявляется, а кода мы уже написали на пару страниц. И нам надо добавить или поправить эти настройки и нам надо перейти к этой конструкции и вернуться обратно. Это все занимает время. Впрочем, наверное это вкусовщина и другие варианты все слишком спорно-геморройные, чтобы за них тереть.

Казалось бы, что может быть проще?)

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. подскажите какойнить обходной манёвр ?

не?

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