@react_js

Страница 83 из 5115
Sergey
05.05.2016
19:21:35
собрать все возможные комбинации в классы, я так понимаю?

Aleksey
05.05.2016
19:21:45
Это же дешевле через classnames делать

И еще – как импортировать переменные? (cssnext) Через @value плагин?

Google
Aleksey
05.05.2016
19:26:22
Других способов нет?

Я об этом: https://github.com/css-modules/postcss-modules-values

from
05.05.2016
19:29:54
Это же дешевле через classnames делать
думаю, легче всё-таки два-три класса написать, чем создавать кучу классов вида .ActiveSmallLoadingSecondary

Aleksey
05.05.2016
19:32:05
думаю, легче всё-таки два-три класса написать, чем создавать кучу классов вида .ActiveSmallLoadingSecondary
Это понятно что легче, концепция рушится. Раз пятый берусь разобраться в нем за последний год – никаких изменений, проблемы все те же, кейсов больше не стало, все говорят об одном и том же, что все хорошо, а это не так.

from
05.05.2016
19:32:42
ну первоочередная проблема-то в изолировании имён, а композиция — так, плюшки)

Aleksey
05.05.2016
19:35:09
Хорошо, имена изолировали, как быть с переменными?

https://github.com/css-modules/postcss-modules-values Так?

from
05.05.2016
19:38:43
а сейчас как импортируешь? через @import?

Aleksey
05.05.2016
19:40:37
Сейчас sass, хочу изолировать переменные.

Не найду информации как импортировать правильно перменные из cssnext: https://github.com/MadLittleMods/postcss-css-variables

(только через @import "./vars.css")

from
05.05.2016
19:47:31
https://github.com/css-modules/postcss-modules-values Так?
по-моему этот плагин не имеет отношения к импорту и чем тебя не устраивает @import "./vars.css"?

Aleksey
05.05.2016
19:48:45
Хочу import red as someprefix-red from colors

Google
vitaliy
05.05.2016
19:48:53
Где можно нормальный date range найти?

Aleksey
05.05.2016
19:49:12
Этот плагин как раз такое и позволяет.

from
05.05.2016
19:50:16
Хочу import red as someprefix-red from colors
мне кажется для такого лоадер нужен специальный, а не плагин для переменных

Aleksey
05.05.2016
19:54:31
мне кажется для такого лоадер нужен специальный, а не плагин для переменных
Возможно, надо еще думать как все это организовывать.

Ivan
05.05.2016
19:55:34
Где можно нормальный date range найти?
Попробуй этот - довольно гибкий календарь https://github.com/gpbl/react-day-picker Вот пример для диапазона дат http://www.gpbl.org/react-day-picker/examples/#range

vitaliy
05.05.2016
19:57:14
ага, вроде что нужно, спасибо

Антон
05.05.2016
20:24:31
Коллеги, кто знает как тестировать компоненты, обернутые в react-router? Mocha, поднимаем в phantomJS

Nikita
05.05.2016
20:27:30
history фейковый подсунуть

Sergey
05.05.2016
20:28:35
const history = createMemoryHistory(location);

Alexander
05.05.2016
20:33:34
Бля, я уж думал

Увидел имя Sergey, решил, что это @chicoxyzzy пьяный с набережной вещает

Sergey
05.05.2016
20:36:31
?

Антон
05.05.2016
20:36:53
?

А в тестах оборачивать в роутинг?

Alexander
05.05.2016
21:12:53
BeerJS официально самая крупная конференция разработчиков в стране. Реакт ты можешь и не знать, но BeerJS'ом быть обязан

S
05.05.2016
21:22:00
а в каком случае данные нужно хранить в редаксе, а в каком нет?

Антон
05.05.2016
21:22:47
Конкретизируй =)

S
05.05.2016
21:25:58
я с коллегами прочитал мануал по редаксу и нашел там типа такие штуки: dispatch({ type: 'LOAD_POSTS_REQUEST', userId }) теперь у нас каждая фича выглядит монструозно, с кучей редьюсеров и экшенов. Вопрос, зачем писать экшены и редьюсеры, если например данные по загрузке нужны только внутри компонента (показать спиннер)

Sergey
05.05.2016
21:28:25
для соблюдения основного смысла единого стейта и тестирования

нет смысла использовать редакс, если вы считаете что он не нужен

Google
Nikita
05.05.2016
21:28:36
у меня тоже был такой вопрос, когда начинал редакс изучать

это полезно с разных точек зрения

S
05.05.2016
21:28:51
ну я действительно считаю, что это ооочень замедляет разработку

Nikita
05.05.2016
21:29:03
например если интернет отвалится - у пользователя будет доступен старый контент

Sergey
05.05.2016
21:29:15
зато упрощает поддержку :)

S
05.05.2016
21:29:21
компоненты хер пойми зачем шарят данные в стейти нужные только им самим

Nikita
05.05.2016
21:29:37
надо просто мозги немного в другую сторону повернуть

S
05.05.2016
21:29:50
зато упрощает поддержку :)
наоборот, проще поддерживать компонент, который инкапсулирует все в себя

Nikita
05.05.2016
21:30:24
через 2-3 итерации это будет монстр, а не компонент

S
05.05.2016
21:30:29
надо просто мозги немного в другую сторону повернуть
Я вот пытаюсь) Только плюсов кроме релизиозности в его вел-ву Редасу не вижу)

Nikita
05.05.2016
21:30:42
ну только что назвал тебе плюс

S
05.05.2016
21:30:52
почему монстр?

Nikita
05.05.2016
21:31:19
ну потому что у тебя компонент-контроллер становится здоровенный

появляются неявные зависимости

S
05.05.2016
21:31:32
контроллер - это бизнес-логика

Sergey
05.05.2016
21:31:32
данные фетчатся каждый раз при маунте компонента? а что если потребуется два таких на странице?

Nikita
05.05.2016
21:32:30
не

с флаксом тоже самое

тут смысл в том, что данные отдельно, вью отдельно

Google
Nikita
05.05.2016
21:33:09
особенно с точки зрения тестирования

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

S
05.05.2016
21:33:38
ну а как всякие material-ui тестируются

ты сможешь получить компонент в любом состоянии с минимумом магии если все проходит цикл флакса/редакса
а зачем мне это нужно? тут главная проблема, что очень много бойлерплейт кода, чтобы показать спиннер

Nikita
05.05.2016
21:34:44
внутри ui иметь стейт на мой взгляд норм

S
05.05.2016
21:35:09
т.е. только бизнес-логика должна лежать в сторе, верно?

Nikita
05.05.2016
21:35:12
не вижу много бойлепрейт кода

сделай себе миддлвары/экшн генераторы

Admin
ERROR: S client not available

Sergey
05.05.2016
21:35:38
бизнес логику лучше в мидлвейры или в саги (если используются)

Nikita
05.05.2016
21:35:39
которые будут кидать pending состояния сами

у меня редьюсеры сами обрабатывают ошибки и пендинги

остается только в реакте их рендрить

S
05.05.2016
21:36:31
у меня редьюсеры сами обрабатывают ошибки и пендинги
редьюсеры ничего не должны обрабатывать)

Nikita
05.05.2016
21:36:49
я имею ввиду я сам не пишу return {...state, penging: true}

за меня это делает небольшая обертка, которую я написал 1 раз

S
05.05.2016
21:37:15
у тебя pending один на все приложение?

Nikita
05.05.2016
21:39:28
нет конечно

на 1 редьюсер

редьюсеры можно друг в друга вкладывать

Google
S
05.05.2016
21:40:22
а можешь поподробнее написать?

Nikita
05.05.2016
21:41:14
function createReducer(initialState, actionHandlers) { return (state = initialState, { type, payload, error, meta }) => { const handler = actionHandlers[type]; if (!handler) { return state; } if (error) { return { ...state, error: payload, pending: false }; } if (meta) { if (meta.pending) { return { ...state, pending: true, error: false }; } } return { ...state, error: false, ...handler(payload, state, meta), pending: false }; }; } export default createReducer;

const user = createReducer({ authorized: false, registerPassed: false, form: {} }, { [USER_LOGIN]: onLogin, [USER_LOGOUT]: onLogout, [USER_REGISTER]: onRegister, [USER_DESTROY]: onLogout, [USER_FETCH]: onFetch, [USER_UPDATE]: onFetch });

Denis
05.05.2016
22:37:55
Парни, а кто чем логирование на клиенте и сервере реализует? Есть альтернативы bunyan?

Dmitrii
05.05.2016
22:40:15
я логгер изоморфный писал год назад гдето

для изоморфногореакт аппа

Denis
05.05.2016
22:40:36
а я два

но у решений типа bunyan есть плюсы

можно из коробки подключать разные коннекторы

Dmitrii
05.05.2016
22:41:08
но им только на сервере же

Denis
05.05.2016
22:41:26
изоморфно же :)

Dmitrii
05.05.2016
22:41:35
что-то поменялось значит :)

я на https://github.com/brophdawg11/JsChannels

запилил.. и канал открывал client->server или server->server

Denis
05.05.2016
22:43:37
)

Dmitrii
05.05.2016
22:44:12
а воще еси bunyan с клиента писать может то больше ничего не нужно

на другом конце можно разные ридеры втыкать и редиректить

в splunk или куда угодно

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