@react_js

Страница 1475 из 5115
Max
16.06.2017
13:31:50
т.е. я считаю что styled components это для расширения набора стандартных html тегов

? ethorz
16.06.2017
13:32:09
Это что за зверь?
когда в компоненте куча пропсов

Max
16.06.2017
13:32:14
а из них уже делаешь компоненты которые обслуживают бизнес-логику

Вася
16.06.2017
13:32:26
т.е. я считаю что styled components это для расширения набора стандартных html тегов
Да. Теперь и я так считаю. Точнее до старта проекта я так считал, потом меня убедили в обратном, и теперь я все же понял что буду отстаивать свою точку зрения

Google
Andrey
16.06.2017
13:32:28
Max
16.06.2017
13:32:31
как избежать hella props?
группировать данные

Вася
16.06.2017
13:32:37
Max
16.06.2017
13:32:54
ну styled для меня это набор цсс-а вокруг дива по-сути

кстати тут ебался с ними

Сергей
16.06.2017
13:33:20
ну представь, есть у нас такая абстракция как PhotoAsset (словами бизнес языка photo asset). эта штука должна отображать какой-то фото ассет. Соответственно styled-component PhotoAssetTitle вообще не должен существовать
По идее да у тебя должен быть большой такой organism <PhotoAsset /> допустим И вот из каких кусков он внутри устроен уже не важно его можно потом перефигачить как захочется в этом главная суть atomic design ты инкапсулируешь всю сложность

Вася
16.06.2017
13:33:22
да. у нас произошло смешание с бизнес языком. и это очень дерьмово, если честно

Max
16.06.2017
13:33:23
забыл про что )

? ethorz
16.06.2017
13:35:23
группировать данные
группировать в смысле объекты юзать?

Max
16.06.2017
13:35:29
угу

не получится?

? ethorz
16.06.2017
13:35:38
да почему, получится

Google
Max
16.06.2017
13:35:42
если у тебя именно куча пропсов

то может у тебя компонент дохуя делает?

если они разные

? ethorz
16.06.2017
13:36:09
эм

Max
16.06.2017
13:36:09
это звоночек — попробуй посмотри, может разнести получится

? ethorz
16.06.2017
13:36:38
ну, это такой вот компонент большой

он много где используется

и его разбить не получится

Max
16.06.2017
13:37:07
ну да

Вася
16.06.2017
13:37:08
ну сгрупируй рэнджи в ranges

Max
16.06.2017
13:37:12
просто много колбеков )

Pavel
16.06.2017
13:37:13
Вася
16.06.2017
13:37:17
как минимум

? ethorz
16.06.2017
13:38:22
Вася
16.06.2017
13:38:37
ну блин, startData end Date - это же диапазон

range

плюс время

? ethorz
16.06.2017
13:38:49
ааа

Вася
16.06.2017
13:38:51
уже эти четыре проперти можно сгруппировать

? ethorz
16.06.2017
13:38:53
ты про это

Google
Вася
16.06.2017
13:38:58
ага

? ethorz
16.06.2017
13:39:06
хуево что вот

если 6 пропсов и они имеют одинаковый проптайпс

объединить бы

чтобы не плодить проптайпсы

Вася
16.06.2017
13:39:44
flow ;)

Stepan
16.06.2017
13:43:11
то может у тебя компонент дохуя делает?
А если у меня компонент берёт много пропсов, но при рендере просто раздаёт их подкомпонентам, это ок?

jeka666
16.06.2017
13:58:01
народ кто юзает AssetsPlugin для вебпака?

не могу понять как бандл с хешем в имени динамически подложить в индексный файл

Semen
16.06.2017
14:19:31
Вот есть «уникальный» дизайн, и думаю. Писать «уникальную» библиотеку компонентов или взять тот же самый react-bootstrap или semantic ui и его «перекрашивать» - где грань?

Konstantin
16.06.2017
14:20:04
ну или все компоненты создавать ...

я выбрал уже на 2-х проектах семантик и свою тему — и ни разу не пожалел

Semen
16.06.2017
14:20:26
ну или все компоненты создавать ...
вот это мне кажется путь в никуда - очень долго у мутарно будет

Konstantin
16.06.2017
14:20:56
вот это мне кажется путь в никуда - очень долго у мутарно будет
та начали мы это как-то делать ... и быстро так свернули. хотя если совсем уникальный дизайн - то вариантов как бы и нет

Владимир
16.06.2017
14:33:30
Всем привет ) Традиция так традиция: 1) Проект — подбор строй оборудования 2) Слишком сильное слово ) 3) Разберемся ) 4) Изучаю React ( + Python), для смены стека (сейчас PHP) #whois

Andrey
16.06.2017
14:34:13
О, мужик. Один из немногих, кто это сделал)

Dmitry
16.06.2017
14:34:42
ну это так себе нужно, мне кажется

Pavel
16.06.2017
14:38:50
Господа, а это нормально, если у действия нет редуктора? Вот, например, есть два асинхронных действия ЗагрузитьА и ЗагрузитьБ. Они оба очищают список ошибок загрузки и дёргают асинхронные запросы А и Б. Список ошибок загрузки очищается отдельным действием ОчиститьОшибки с собственным редуктором. Тогда, получается что, раз действия ЗагрузитьА и ЗагрузитьБ кроме вызова асинхронных запросов и вызова ОчиститьОшибки ничего не делают, то им и редукторы не нужны. Тогда и типы действий им не нужны — ведь они нужны только для связи с редуктором. им нужны только свои actionCreator и всё. Где я тут ошибся? Или так и есть?

Google
Pavel
16.06.2017
14:40:44
Примерно так выглядит export const MY_REQUEST = 'MY_REQUEST' export function actionMyRequest (data) { return dispatch => { dispatch( { type: MY_REQUEST, } ) dispatch(actionNotificationClear()) return api .add(data) .then( () => dispatch(actionMySuccess(data)) ) .catch( error => dispatch(actionNotificationShow(error)) ); } }

Получается что первый dispatch и не нужен, он всё равно никакой редуктор не запустит

Дмитрий
16.06.2017
14:45:21
Эмпирическое правило — если ты видишь в своем коде два вызова экшнов подряд, то можно смело создавать issue про технический долг

Дмитрий
16.06.2017
14:46:46
Ну в общем всё что можно описать двумя экшнами подряд — можно описать и одним. А если этого сделать нельзя, то значит стейт проходит через неконсистентное состояние со всеми вытекающими

George
16.06.2017
14:46:56
какой-то реально диспатч головного мозга.. это жи экшен-криэтор, причем тут обращение к API, и нотификашки...

Дмитрий
16.06.2017
14:47:09
Проще говоря, тупо вынеси в экшн что у них общего и не дергай стор чаще нужного)

Admin
ERROR: S client not available

Pavel
16.06.2017
14:49:25
Проще говоря, тупо вынеси в экшн что у них общего и не дергай стор чаще нужного)
Я и вынес. Просто получается что у них не осталось отличающегося способа менять state. Поэтому им не нужны собственные редукторы.

Дмитрий
16.06.2017
14:50:03
Если что то выглядит как утка и крякает как утка, то значит это она и есть

Дмитрий
16.06.2017
14:50:57
Если ты пришёл к выводу, что навернул лишнего кода и можно сделать проще, то значит этот код действительно не нужен

George
16.06.2017
14:52:21
обращение к API должно быть в сервисе... сервис можно вызвать из экшен криэтора, но нотификашки точно должны быть во вьюхе (или лэйауте)!! Поэтому мне нравится redux-saga ))) там все оркестрирование сценарием в саге

Pavel
16.06.2017
14:52:34
Если ты пришёл к выводу, что навернул лишнего кода и можно сделать проще, то значит этот код действительно не нужен
Не совсем так. Я пришёл к выводу что мне нужен actionCreator, который дёрнет асинхронщину и другое действие. Но не нужен редуктор для него. потому что он напрямую не меняет в state ничего. И это очень странно, КМК. Я и спрашиваю совета — насколько это нормально?

George
16.06.2017
14:53:03
почему плохо вызывать сервис в actionCreator'е? Потому что можно сделать dispatch(ACTION) вручную и что произойдет? Ничего )

Amon Bower
16.06.2017
14:53:34
Подскажите, как сделать так, чтобы реакт не пихал стили внутрь страницы через <style> Я подключаю import './styles/app.styl'; И в вебпаке указываю, что нужно экспортировать стили в отдельный файл: plugins: [ new ExtractTextPlugin('../css/app.css') ] Но, реакт все равно пихает стили в страницу. Получается, у меня грузятся 2 раза одни и те же стили.

George
16.06.2017
14:55:42
у меня это обычно выглядит так: fechData () => { return { action: FETCH_DATA, payload: MyService.fetchData() }

Google
George
16.06.2017
14:55:54
ну то есть они должны быть как можно более атомарны

сами экшен криэторы

George
16.06.2017
14:56:43
нет, там у тебя много уже логики написано. Выглядит говнокодом.. много букафф, другому будет сложнее понять

Konstantin
16.06.2017
14:56:49
Дата из экшнов — это нонсенс)
Надо дернуть экшн, тот передам в редюсер, тот запишет в стор, контейнер замапит в пропсы

George
16.06.2017
14:57:02
из сервиса можно вызывать другой сервис

Konstantin
16.06.2017
14:57:04
Я сократил до 1 действия :)

George
16.06.2017
14:57:08
асинхронно и есть

в payload идет промис

из сервиса можно вызывать другой сервис
точнее не так сказал. Из сервиса можно вызывать другие методы этого сервиса и другие методы других сервисов )

andretshurotshka?❄️кде
16.06.2017
14:58:17
какой-то ангуляр

George
16.06.2017
14:58:40
короче ты создаешь экшен каждый раз новый на каждое действие - если даже там огромный сценарий есть стартовый экшен...

andretshurotshka?❄️кде
16.06.2017
14:58:55
а резолвится в редьюсере?

Дмитрий
16.06.2017
14:59:12
Еее асинхронные редюсеры

George
16.06.2017
14:59:26
кто? payload?

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