
Pavel
28.04.2017
08:38:42
И я пришел к построению инфраструктуры таким образом, что redux напрямую мы перестали использовать, он по сути стал external state для различных библиотек, таких, как apollo-client, redux-form и прочих.
То есть по сути мы не создаем reducer-ов вообще, что сильно ускоряет процесс разработки.
Но путь этот пройти желательно, иначе эволюции понимания всех тонкостей не произойдет.

Yuri
28.04.2017
08:41:33
Спасибо.
Если кто ещё может что-то сказать, мне будет очень интересно послушать.

Google

Igor
28.04.2017
08:49:40
ребята, я вот тут озадачился одной проблемой. Всегда решал ее Абрамоугодно, но сегодня закрались подозрения.
мапаю я пропсы:
const mapStateToProps = state => ({
powerMeterDevices: getPMDevices(state.devices.byId),
currentHomeId: state.homes.currentHomeId,
powerMeterData: state.powerMeter
});
getPMDevices - функция, которая фильтрует список и всегда возвращает новый массив, иммутабельность наше все
получается из-за того, что всегда приходит новый массив, то компонент ререндерится.
Вопрос, такое решается только через SCU или я что то делаю не так? или есть более правильный способ?

Yumi
28.04.2017
08:51:40
mapStateToProps - выборка со стейта, зачем там логика?

Igor
28.04.2017
08:53:19

Дмитрий
28.04.2017
08:57:21
ребята, я вот тут озадачился одной проблемой. Всегда решал ее Абрамоугодно, но сегодня закрались подозрения.
мапаю я пропсы:
const mapStateToProps = state => ({
powerMeterDevices: getPMDevices(state.devices.byId),
currentHomeId: state.homes.currentHomeId,
powerMeterData: state.powerMeter
});
getPMDevices - функция, которая фильтрует список и всегда возвращает новый массив, иммутабельность наше все
получается из-за того, что всегда приходит новый массив, то компонент ререндерится.
Вопрос, такое решается только через SCU или я что то делаю не так? или есть более правильный способ?
Сохрани данные отдельно, а порядок сортировки — отдельно в сторе, тогда не придётся сортировать каждый раз)

Igor
28.04.2017
08:59:16

Igor
28.04.2017
09:36:27
Господа, что взять из CSS in JS для реализации простного функционала
В пропсах приходит цвет и нужно расскрасить с ховерами и т.п.
Можно конечно и onMouseEnter повесить, но не хочется
Есть какая-то простая библиотека?

Max
28.04.2017
09:37:36
а чем ‘import “style.scss”’ не устраивает?

Igor
28.04.2017
09:38:07
Цвет в пропсах

Max
28.04.2017
09:38:25
а

Igor
28.04.2017
09:38:30
типа item.color

Max
28.04.2017
09:38:49
я react-jss взял

Google

Igor
28.04.2017
09:38:49
Если просто повесить, то понятно style={{color: this.props.color}}
А если ховер еще нужен, то тут уже пляски с бубном

Max
28.04.2017
09:39:06
вроде простая штука
но я не уверен что там есть динамическое изменение стилей
типа ховера
надо доку глянуть

Igor
28.04.2017
09:41:27
Попробую ее

Дмитрий
28.04.2017
09:46:54
В jss есть ховер

Max
28.04.2017
09:47:09
не
ховер то есть

Дмитрий
28.04.2017
09:47:12

Max
28.04.2017
09:47:17
а динамически поменять его? )
там же вроде он компилирует в цсс все

Дмитрий
28.04.2017
09:47:30
Ну так на лету же
Если теперь сделать инжект в компонент, то width — это соответствующий пропс компонента

Max
28.04.2017
09:48:24
о
збс

Igor
28.04.2017
09:54:25
{this.props.tags.map((item, index) => {
const styles = {
item: {
fontWeight: 'bold',
},
}
const itemClass = cx({
newsFilterItem: true,
newsFilterItemActive: item.tagSlug === this.props.current,
[classes.item]: true,
})
return (
<div key={item.id} className={itemClass} onClick={() => this.props.handleFilter(item.tagSlug)}>
{item.tag}
</div>
)
})}
Расскажите, как заставить работать?

Google

Igor
28.04.2017
09:55:00
export default injectSheet(styles)(NewsFilter) етесственно

Сергей
28.04.2017
09:55:00
а что не работает

Denis
28.04.2017
09:55:13

Сергей
28.04.2017
09:55:31
кстати, писать newsFilterItem: true это же как-то тупо

Denis
28.04.2017
09:55:52
зачем константы внутри map

Сергей
28.04.2017
09:55:55
можно же просто cx('newsFilterItem', classes.item, { ....... })

Igor
28.04.2017
09:56:06
Можно, потом поправлю

Сергей
28.04.2017
09:56:39
@exdeniz а в чем проблема-то?

Igor
28.04.2017
09:57:35
Проблема, что мне надо в map отображать разные цвета
В том числе и для ховера
для это style={{}} не подходит

Сергей
28.04.2017
10:06:06
why?

Gleb
28.04.2017
10:17:40
Привет, подскажие пол jest пожалуйста, что в валидном тесте означает :
`
Your test suite must contain at least one test.
Только не отвечайте переводом на русский

Max
28.04.2017
10:18:18
значит нет у тебя тестов )
может где-то синтаксис кривой

Gleb
28.04.2017
10:18:56
Потому что
test("WTF???", () => {
expect(3).toBe(3);
});
Вернет тоже самое
Я закоментировал все moxios и прочие
только это сотавил

Google

Max
28.04.2017
10:19:34
может конфиг джеста кривой

Gleb
28.04.2017
10:19:35
сам файл с тестом он видит и запускает его

Max
28.04.2017
10:19:38
бабель не подсасывается
или еще что-то

Gleb
28.04.2017
10:19:55
Я могу запускать jest без конфига?
Судя по доке да

Max
28.04.2017
10:20:22
у меня была херня когда была опечатка в имени лоадера и он просто падал

Admin
ERROR: S client not available

Max
28.04.2017
10:20:26
на импорте цсс
вместо того чтобы сказать что лоадер не найден

Gleb
28.04.2017
10:20:55
бляха
и это решилось кофигом?

Max
28.04.2017
10:21:08
ну у меня в конфиге все

Gleb
28.04.2017
10:21:36
Скинь пожалуйста в лс, на скорую попробую с ним если все ок то значит в конфиге все же дело

Max
28.04.2017
10:21:39
кинул в личку
удали все что про TS
ненужно

Gleb
28.04.2017
10:23:42
jest —notify —config=config.json
В результате то же самое(
вот гавнюк а этот джест
а что там с бабелем, они написали если у вас yarn забить на бабель

Google

Gleb
28.04.2017
10:33:11
Если по близости в закладках есть что нибудь про тестирование thunk?

? ethorz
28.04.2017
10:43:03

Pasha
28.04.2017
10:44:21
привет пипл! Посоветуйте инструмент для тестинга скриншотами, для компонентов

Artem
28.04.2017
10:45:02
Скриншотами?
Снэпшотами?

Artur
28.04.2017
10:45:31
у тебя в данном случае controlled input, так что либо делай на него хендлер и обновляет стейт при изменении, либо юзай uncontrolled
controlled: https://facebook.github.io/react/docs/forms.html#controlled-components
uncontrolled: https://facebook.github.io/react/docs/uncontrolled-components.html

Pasha
28.04.2017
10:45:50
смысл один) спс за поправку

Artem
28.04.2017
10:46:03
Jest норм

Pasha
28.04.2017
10:46:14
спс, ща покурим

? ethorz
28.04.2017
10:46:41
спасибо

Artur
28.04.2017
10:47:05
ты передаешь туда value, так что controlled. но можешь сделать его uncontrolled :)

? ethorz
28.04.2017
10:47:37
не, мне в итоге всё равно надо будет передать только по сабмиту

Ruslan
28.04.2017
10:48:07

Pasha
28.04.2017
10:51:09
а не, все верно я сказал. Помню где-то видел что можно скриншотами. Если не совпадают кидает варнинг.

Ilya
28.04.2017
10:52:38
BackstopJS думаю попробовать
Но снепшоты и скриншоты тестируют разные вещи
Очевидно же

Ruslan
28.04.2017
10:54:34