
Viacheslav
04.10.2016
11:25:39
это только добавит больше проблем
задача решается не больше чем за 100 строк, не нужна для этого библиотека обзерваблов

Eugeniy
04.10.2016
12:03:00
Кто подскажет может. Как в реакт роутере оставить ссылку активной если к примеру у нас есть не обязательный параметр:
<Route path="users(/page/:pageId)" component={ Users }>

Арсений
04.10.2016
12:06:12
Вложить

Google

Eugeniy
04.10.2016
12:09:19
ну всм к примеру я по роуту /users у меня ссылка активна - если я перейду по роуту /users/page/2 то соот-но ссылка уже не будет активной

Сергей
04.10.2016
12:10:35
IndexRoute?

Такси в подарок!)
04.10.2016
12:13:52

Eugeniy
04.10.2016
12:16:27
Все, разобрался, спасибо )
проблема ещё была в том, что у ссылки ещё был пропс onlyActiveOnIndex, теперь все ок

Кирилл
04.10.2016
13:16:49
Привет всем!!
Уменя можно сказать класическая проблема котрую я не знаю как решить
есть много страничный сайтик на реакт (без редакса) роутерами
на одной странице элемент с событиями котрая должы изменить футер страницы как пробросить калбеки от этого элемента до футера котрый лежит в лейауте

Ilya
04.10.2016
13:18:53
На реакте без реакта?

Кирилл
04.10.2016
13:19:31
без редакса
короче нужно наладить взаимо связь двух компанентов чтобы это было быстро и дешево

Oleg
04.10.2016
13:20:20
включить футер в эту страницу

Eugeniy
04.10.2016
13:20:55
ну в самом верхнем компоненте создайте колбек и пробрасывайте его. Либо eventemitter какой-нибудь поюзайте

Кирилл
04.10.2016
13:21:00
он обшей на 2 страницы и его незя включать на одной стрнице так как там плеер стоит
пробовал но страница в лейаут вствлется через
{this.props.children}

Google

Alexander
04.10.2016
13:22:10
React.cloneElement

Eugeniy
04.10.2016
13:22:15
ну прокидывайте пропсы с чаилд
через cloneElement
return React.cloneElement(this.props.children, this.props);

Кирилл
04.10.2016
13:23:36
ок понел
попробую
самыц простой способ как я понимаю

Ilya
04.10.2016
13:23:50
А как же контекст?:)

Кирилл
04.10.2016
13:24:03
ну сначала до верха докинуть надо
а там {this.props.children}
React.cloneElement(this.props.children, this.props);
работет спасибо

Dmitry
04.10.2016
13:28:21
https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f#.yc7kmmn6t

Victor
04.10.2016
15:05:41
react-addons-shallow-compare стоит во все глупые компоненты добавить или это может и вред нанести?

Vladimir
04.10.2016
15:06:07
а тесты есть?

Victor
04.10.2016
15:06:47
пока не писал ?

Vladimir
04.10.2016
15:09:05
я бы начал

Andrey
04.10.2016
15:10:23
реактаны
имели дело с андройдовыми дип - линками ?
как их правильно вставлять на страницу ?

Google

Andrey
04.10.2016
15:11:08
чтобы оно не ругалось на page not found когда приложение не стоит ?

Denis
04.10.2016
15:26:22
как спрятать от девтулса redux стор на продакшне?

Idaliya
04.10.2016
15:27:23
process.env.NODE_ENV !== 'production'
хотя у яндекс карт вот наружу торчит :D

Denis
04.10.2016
15:28:26
да, действительно
просто не подгружать window.devToolsExtension() при создании стора
чёт я тупанул, спасибо

blkmrkt
04.10.2016
15:29:42
Может кто знает на чем фронт моймир@мейлру написан?

Gordey
04.10.2016
15:30:32

Dmitry
04.10.2016
15:30:48
maps.yandex.ru :)

Denis
04.10.2016
15:32:11
вот только инфы там совсем чуть-чуть лежит
isEnabled всякие

Dmitry
04.10.2016
15:33:36
Ну им больше и не нужно
Только то, что требуется для взаимодейтсвия соседних компонентов, как я понимаю

Mikhail
04.10.2016
15:42:15
А есть какой-то красивый способ запретить React extension хромовский на проде?

Artem
04.10.2016
15:43:49

blkmrkt
04.10.2016
15:44:04

Mikhail
04.10.2016
15:44:34
Я такое пробовал https://gist.github.com/jaybekster/ebeabfad3bd421d40a977ef132bc303f

blkmrkt
04.10.2016
15:44:36
там еще в сорцах Comet какой-то
я аросто вчера сел писать коломёт-юзерскрипт для фоток на моймир@мейлру, но не обнаружил как программно хукнуть переход по ссылке, а то window.location перезагружает все включая юзерскрипт

Сергей
04.10.2016
15:48:42

Eugeniy
04.10.2016
15:50:38

Mikhail
04.10.2016
15:50:59
Я знаю что работает)))

Google

Mikhail
04.10.2016
15:51:15
просто выглядит как-то топорно - лучше решения не надумал

Eugeniy
04.10.2016
15:51:29
ну я Сергею написал )


Denis
04.10.2016
19:27:27
может у вас будут идеи
хочу синхронизировать redux store между вкладками браузера, через localstorage. идея в том чтоб только master вкладка писала состояние в localstorage. slave вкладки каждый раз как видят изменение в localstorage - применяют их у себя в редюсерах. для отслеживания мастер вкладки использовал visibility.js, работает. подписался на store.subscribe(), внутри смотрю статус вкладки, если мастер - записываю в локалстораж. внутри корневого компонента слушаю window.addEventListener('storage'), при ивенте смотрю состояние вкладки, если slave - вызываю экшн tabSync куда передаю весь новый стор. на данный момент мне было важно было синхронизировать именно редюсер user'а, чтоб при логине/логауте остальные вкладки подхватывали состояние. соответсвенно в редюсере юзера ловил этот экшн и брутально заменял весь редюсер "case TAB_SYNCED: return payload.user"
но потом задумался - а если б мне захотелось весь стор вот так синхронизировать? если делать так топорно как сейчас то это в каждом редюсере нужно слушать этот экшн и заменять текущий кусок стора. не ок
так вот вопрос - может есть какой-то способ откуда-то сверху, либо через middleware синхронизировать те части стора, которые пришли с ивента (скажем у меня есть whitelist редюсеров которые я хочу синхронизировать, пусть это будет половина всего моего стоража), а остальные остались в текущем состоянии (важно чтоб они НЕ резетнулись в initial)


Ilya
04.10.2016
19:30:15
может у вас будут идеи
хочу синхронизировать redux store между вкладками браузера, через localstorage. идея в том чтоб только master вкладка писала состояние в localstorage. slave вкладки каждый раз как видят изменение в localstorage - применяют их у себя в редюсерах. для отслеживания мастер вкладки использовал visibility.js, работает. подписался на store.subscribe(), внутри смотрю статус вкладки, если мастер - записываю в локалстораж. внутри корневого компонента слушаю window.addEventListener('storage'), при ивенте смотрю состояние вкладки, если slave - вызываю экшн tabSync куда передаю весь новый стор. на данный момент мне было важно было синхронизировать именно редюсер user'а, чтоб при логине/логауте остальные вкладки подхватывали состояние. соответсвенно в редюсере юзера ловил этот экшн и брутально заменял весь редюсер "case TAB_SYNCED: return payload.user"
но потом задумался - а если б мне захотелось весь стор вот так синхронизировать? если делать так топорно как сейчас то это в каждом редюсере нужно слушать этот экшн и заменять текущий кусок стора. не ок
так вот вопрос - может есть какой-то способ откуда-то сверху, либо через middleware синхронизировать те части стора, которые пришли с ивента (скажем у меня есть whitelist редюсеров которые я хочу синхронизировать, пусть это будет половина всего моего стоража), а остальные остались в текущем состоянии (важно чтоб они НЕ резетнулись в initial)
А почему бы не хранить в локал сторадже ивенты с пейлоадом?


Denis
04.10.2016
19:31:12
Не понял идею

Alex
04.10.2016
19:32:56
Народ, киньте плз либу с компонентами-даунами для генерации Email писем. Тупо компоненты)

Ilya
04.10.2016
19:33:52
Не понял идею
Это обычная задача на пропагейшн асинхронной репликации.

Mikhail
04.10.2016
19:35:39
Вопрос по тестированию компонентов. У меня в компоненте есть строчка
impoty styles from './someStyleFile.css'
Когда запускаю тесты то естесно он не может разобраться css file и вылетает экспешн. Есть какое-то хорошее решение?
Есть догадка что можно запилить какой-нибудь require-hook и ничего не возвращать при импорте css-файла, но уж больно костыль костыльный

Alex
04.10.2016
19:37:23
мб собирать webpack'ом перед тестами?

S
04.10.2016
19:47:05


Paul
04.10.2016
19:47:27
может у вас будут идеи
хочу синхронизировать redux store между вкладками браузера, через localstorage. идея в том чтоб только master вкладка писала состояние в localstorage. slave вкладки каждый раз как видят изменение в localstorage - применяют их у себя в редюсерах. для отслеживания мастер вкладки использовал visibility.js, работает. подписался на store.subscribe(), внутри смотрю статус вкладки, если мастер - записываю в локалстораж. внутри корневого компонента слушаю window.addEventListener('storage'), при ивенте смотрю состояние вкладки, если slave - вызываю экшн tabSync куда передаю весь новый стор. на данный момент мне было важно было синхронизировать именно редюсер user'а, чтоб при логине/логауте остальные вкладки подхватывали состояние. соответсвенно в редюсере юзера ловил этот экшн и брутально заменял весь редюсер "case TAB_SYNCED: return payload.user"
но потом задумался - а если б мне захотелось весь стор вот так синхронизировать? если делать так топорно как сейчас то это в каждом редюсере нужно слушать этот экшн и заменять текущий кусок стора. не ок
так вот вопрос - может есть какой-то способ откуда-то сверху, либо через middleware синхронизировать те части стора, которые пришли с ивента (скажем у меня есть whitelist редюсеров которые я хочу синхронизировать, пусть это будет половина всего моего стоража), а остальные остались в текущем состоянии (важно чтоб они НЕ резетнулись в initial)
Лучше синхронизировать через сервер. На случай если пользователь залогинен в разных браузерах одновременно (десктоп/мобила/инкогнито)


Denis
04.10.2016
19:48:07
хочу ограничиться клиентской стороной

Mikhail
04.10.2016
19:49:11

Vladimir
04.10.2016
21:12:09
webpack сборка тестов это хороший такой удар по быстрым тестам

Alex
04.10.2016
21:16:37
Можно забыть про TDD, ага.

Vladimir
05.10.2016
00:43:13
Тут кто-нибудь с react-draggable работал?

Nikita
05.10.2016
01:49:48
+

Alex
05.10.2016
07:48:23
Я работал. Работает.

Google

Alex
05.10.2016
07:49:28
Быстрые тесты - это линтер )

Aleh
05.10.2016
07:51:18

Alex
05.10.2016
07:51:45
Пересборку то?
Ну если пересборка идет секунд 5-10 то не очень то и удобно

Alex
05.10.2016
07:53:11
Это очень долго

Aleh
05.10.2016
07:53:18
у нас пересборка бандлов для браузера меньше 2 секунд, а тестов-то так и вообще 100-200 ms