
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

Google

Andrey
16.06.2017
13:32:28

Max
16.06.2017
13:32:31

Вася
16.06.2017
13:32:37

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

Сергей
16.06.2017
13:33:20

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

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

Вася
16.06.2017
13:33:55

? 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

? ethorz
16.06.2017
13:44:04

jeka666
16.06.2017
13:58:01
народ кто юзает AssetsPlugin для вебпака?
не могу понять как бандл с хешем в имени динамически подложить в индексный файл

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

Konstantin
16.06.2017
14:19:53

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 про технический долг

Pavel
16.06.2017
14:45:38

Дмитрий
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

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

Pavel
16.06.2017
14:50:24

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

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

Pavel
16.06.2017
14:52:34

Konstantin
16.06.2017
14:52:36

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 раза одни и те же стили.

andretshurotshka?❄️кде
16.06.2017
14:55:00

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

Google

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

Дмитрий
16.06.2017
14:56:01

Pavel
16.06.2017
14:56:16

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

Konstantin
16.06.2017
14:56:49

andretshurotshka?❄️кде
16.06.2017
14:56:58

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?