
Дмитрий
25.05.2017
09:51:33
У тебя результат уже не является текстом, а изоморфными блоками форматирования
Сегодня emoji, завтра курсив с инлайн фотками — разве по прежнему всё в текст будешь перегонять)

Amon Bower
25.05.2017
09:53:37
))) я понял
окей, попробую разобраться

Google

Artur
25.05.2017
09:56:09
Ребза, как в webpack 2 полифилить теперь? Что-то у меня через ProvidePlugin с imports/exportrs loader не хочет работать с tslib.

Mike
25.05.2017
10:35:14
должно работать, попробуй другую либу

Oleg ?
25.05.2017
10:35:23
Так что, можно запускать yarn при выполнении команды npm install?

Mike
25.05.2017
10:35:24
ну то есть ты точно что-то не так делаешь, вопрос что

Grigory
25.05.2017
10:36:06
Парни привет, есть проблема в IE9, если поставить фокус в input до загрузки бандла и начать в нем писать что-то, то onChange не срабатывает. Убираю фокус, ставлю обратно все работает. Как с таким бороться?

Ivan
25.05.2017
10:43:45
забить на ie9
уверен на нём отвалиться ещё не в одном месте и в какой-то момент ты всё равно от него откажешься

Mike
25.05.2017
10:44:12
о чуваки кстати
есть убер-гуру вебпака в чате?

Ivan
25.05.2017
10:44:23
ну и чат про реакт
он же вроде ie9 не поддерживает

Mike
25.05.2017
10:45:55
задача такая, есть большой проект в котором стили просто css лоадером грузятся. сейчас часть проекта переезжает на реакт и там будут css modules. как бы сделать так, чтобы и модули работали, и старый код не отвалился? если что весь код с модулями лежит в отдельной папке, мб вебпаку можно как-то в test сказать, в этой смотри, а в этой смотри по-другому?

Ivan
25.05.2017
10:47:51

Google

Mike
25.05.2017
10:48:15
то, что я лоадеру если скажу через модули, он имена классов в старых поперехэширует
хм, может под это дело попробовать jss поиграться)

Ivan
25.05.2017
10:50:34
глобальные стили экспортируй через ExtractTextPlugin и подкючай на сайте, а в компонентах css модули
я бы делал так

? ethorz
25.05.2017
10:50:53
componentWillReceiveProps() {
const p_ = this.props;
this.setState({
schedule: this.formattingSchedule(p_.selectedItem)
});
}
в стейт добавляется первый раз, при втором уже не добавляет, почему так?
компонент перерендеривается 2 раза

Grigory
25.05.2017
10:52:13

Ivan
25.05.2017
10:54:26

Mike
25.05.2017
10:54:31

Ivan
25.05.2017
10:54:33
через ctrl+v

Mike
25.05.2017
10:55:29
@sergeysova а расскажи про styled-jss и как ты код организуешь?

Nikita
25.05.2017
10:57:41
Гайз, такой вопрос:
SinglePage на React+Redux, прикручиваю OAuth2; Есть ли какие-либо готовые решения, или можно сразу начинать делать самому?

Denis
25.05.2017
10:58:21
самому
всего-то нужно получить токен, обновить токен

Nikita
25.05.2017
10:59:00
ок, так и думал
благодарю

Denis
25.05.2017
10:59:17
остальное делает серверная сторона

Grigory
25.05.2017
11:07:29
через ctrl+v
тоже самое, после первого рендера значение в state равно null что пресдказуемо поскольку бандл еще не загружен, но после рендера onChange не вызывается

Denis
25.05.2017
11:12:04
как понять после загрузки бандла

Google

Denis
25.05.2017
11:12:18
и как может быть виден инпут до рендера

? ethorz
25.05.2017
11:14:07
list.map(item => {
if (item.id === selectedItem.id) {
broadcasts.setState({
list: item
});
}
})
как можно обновить нужный объект?

Grigory
25.05.2017
11:14:50

Denis
25.05.2017
11:16:34
то есть если стоит фокус то даже после загрузки не срабатывает ончендж?

Grigory
25.05.2017
11:16:52
если после загрузки то срабатывает

Denis
25.05.2017
11:17:20
а в других браузерах что

Grigory
25.05.2017
11:17:32
но в нормальных браузерах можно поставить до загрузки и хендлеры подхватываются реактом

Denis
25.05.2017
11:21:49

? ethorz
25.05.2017
11:22:16
это массив объектов

Grigory
25.05.2017
11:22:32

Denis
25.05.2017
11:22:35
мутируй массив
в сет стейт вставляй весь массив

? ethorz
25.05.2017
11:23:03
item - какой-то объект, который нужно обновить

Denis
25.05.2017
11:23:23
обновляй итем в массиве
после сам массив сунь в сет стейт
других вариантов нет

Grigory
25.05.2017
11:25:25
это массив объектов
например
const updatedList = broadcast.list.map(item => {
return item.id === selectedItem.id ? selectedItem : item
})
broadcast.setState({
list: updatedList,
})

Дмитрий
25.05.2017
11:26:34
мутируй массив
"...а сам массив тоже возьми из стейта, удачной отладки"

Google

Denis
25.05.2017
11:27:31
сам юзаю immutability-helper )

? ethorz
25.05.2017
11:30:14

Сергей
25.05.2017
11:45:58

Roman
25.05.2017
11:46:46

Сергей
25.05.2017
11:48:47

Admin
ERROR: S client not available

pepsi ¯\_(ツ)_/¯
25.05.2017
11:49:20

Сергей
25.05.2017
11:49:39

Amon Bower
25.05.2017
11:52:45
ПОдскажите, как правильно организовать прелоад сообщений так, чтобы скролл не слетал на начальную позици?
Написал код, который отлавливает перед прелоадом скролл, сохраняет его в сторе. После того, как компонент обновился, через componentWillReceiveProps, я узнаю прошлый скролл и настоящий.
scrollHeight - store.lastScrollHeight
Потом меняю статус isPreloaded = false. Чтобы при очередном апдейте компонента, он не скроллился.
внутри componentWillReceiveProps

Grigory
25.05.2017
11:57:55
А как узнать при рендере клиента что компонент уже отрендерен на стороне сервера, нужно сделать rehydration для подгужаемого через import() компонента. Если компонент отрендерен на стороне сервера то ничего не делать только загрузить chunk с компонентом, если нет то показать прелоадер во время загрузки чанка.

Mike
25.05.2017
12:00:17
Я использую AtomicDesign для организации компонентов
Не, мне скорее интересно, где именно относительно компонента стили хранить, в том же файле, в соседнем, где хранить инициализацию -- в каждом компоненте для переносимости или один раз в коре, а потом везде импортить

Сергей
25.05.2017
12:01:01

Mike
25.05.2017
12:01:44
Не раздувается? У меня на некоторые компоненты несколько сотен CSS строк
И как у jss с @keyframes?

Сергей
25.05.2017
12:03:30

Sergei
25.05.2017
12:07:23

Сергей
25.05.2017
12:08:33

Google

Сергей
25.05.2017
12:09:07
если в компоненте так дохрена стилей, то следует задуматься о декомпозиции и упрощении

Sergei
25.05.2017
12:10:56

Konstantin
25.05.2017
12:24:09
Кто нибудь дружил rr4, ssr и async routes?

Ostap
25.05.2017
12:27:43
только rr4 + async routes

Konstantin
25.05.2017
12:29:11
Не там затык именно с ssr

Ostap
25.05.2017
12:29:31
могу пример скинуть

Konstantin
25.05.2017
12:29:35
Mismatch маркапа

Ostap
25.05.2017
12:29:35
ssr rr4 async

Konstantin
25.05.2017
12:29:42
Скинь

Ostap
25.05.2017
12:29:56
https://github.com/ctrlplusb/react-universally

Konstantin
25.05.2017
12:35:15
Глянул по коду, все вроде также


Denis
25.05.2017
12:35:42
? Друзья, уже совсем скоро состоится важное событие весны - 5 и 6 июня в Сколково пройдёт РИТ++ (см. www.ritfest.ru). Если в цифрах, РИТ - это 160 сильнейших докладчиков, 2000+ участников, 8 тематических конференций, 40 митапов от экспертов, 20 стендов с розыгрышами и призами и т.д. Совместно с организаторами мы проводим розыгрыш билетов среди участников русскоговорящих профессиональных сообществ в Telegram:
1. https://t.me/react_js
2. https://t.me/js_ru
3. https://t.me/angular_ru
4. https://t.me/nodejs_ru
5. https://t.me/android_ru
6. https://t.me/ios_ru
7. https://t.me/devops_ru
8. https://t.me/kubernetes_ru
9. https://t.me/docker_ru
10. https://t.me/agile_ru
А также других групп, представленных в этом списке: https://t.me/all_ru
? Всего будет разыграно: 4 билета среди участников (по одному на тематику - Мобильная разработка, DevOps, JavaScript, Agile) и 4 билета для тех, кто готов вести прямую трансляцию конференции в группе Telegram. Каждый может участвовать в двух номинациях. :)
? Что значит "прямая трансляция"? Организаторы готовы предложить со своей стороны:
1. Пригласить на конференцию (бесплатно, разумеется).
2. Выделить рабочую зону (тихие комнаты для подкастов, интервью, зарядки, оформить зону, перекусить и так далее).
3. Предоставить доступ к докладчикам (контакты, возможность связаться для интервью / чего угодно).
4. Предоставить доступ к спонсорам (контакты, интервью, услуги) - они тоже в вас заинтересованы.
5. Отдать пару потоков видео с конференции бесплатно для трансляции в реальном времени.
6. Скидочный код для подписчиков канала или подкаста.
7. Предложить PR, который может сделать конференция: логотип в информационных партнёрах, рекламную вкладку в брошюру участников.
Что ожидается от вас в этом случае:
1. Продвижение конференции до события.
2. Интересный репортаж с места события - желательно в реальном времени, комментарии, цитаты, фотографии, прямые включения, интервью (можно постфактум).
? Выигранный билет нельзя обменять/продать или передать. В случае, если вы по какой-то причине не сможете воспользоваться билетом, сообщите организаторам - https://t.me/DenisIzmaylov
? Победитель будет выбран случайным образом. Ваши имя и фамилия будут опубликованы, в случае победы, все остальные ответы - конфиденциальны. Приём заявок завершится в воскресенье, 28 мая, в 23:59.
? Для участия в розыгрыше необходимо заполнить следующую форму: https://goo.gl/forms/By7hsLbOZCx2NhN13


Sergey
25.05.2017
12:42:51
? Друзья, уже совсем скоро состоится важное событие весны - 5 и 6 июня в Сколково пройдёт РИТ++ (см. www.ritfest.ru). Если в цифрах, РИТ - это 160 сильнейших докладчиков, 2000+ участников, 8 тематических конференций, 40 митапов от экспертов, 20 стендов с розыгрышами и призами и т.д. Совместно с организаторами мы проводим розыгрыш билетов среди участников русскоговорящих профессиональных сообществ в Telegram:
1. https://t.me/react_js
2. https://t.me/js_ru
3. https://t.me/angular_ru
4. https://t.me/nodejs_ru
5. https://t.me/android_ru
6. https://t.me/ios_ru
7. https://t.me/devops_ru
8. https://t.me/kubernetes_ru
9. https://t.me/docker_ru
10. https://t.me/agile_ru
А также других групп, представленных в этом списке: https://t.me/all_ru
? Всего будет разыграно: 4 билета среди участников (по одному на тематику - Мобильная разработка, DevOps, JavaScript, Agile) и 4 билета для тех, кто готов вести прямую трансляцию конференции в группе Telegram. Каждый может участвовать в двух номинациях. :)
? Что значит "прямая трансляция"? Организаторы готовы предложить со своей стороны:
1. Пригласить на конференцию (бесплатно, разумеется).
2. Выделить рабочую зону (тихие комнаты для подкастов, интервью, зарядки, оформить зону, перекусить и так далее).
3. Предоставить доступ к докладчикам (контакты, возможность связаться для интервью / чего угодно).
4. Предоставить доступ к спонсорам (контакты, интервью, услуги) - они тоже в вас заинтересованы.
5. Отдать пару потоков видео с конференции бесплатно для трансляции в реальном времени.
6. Скидочный код для подписчиков канала или подкаста.
7. Предложить PR, который может сделать конференция: логотип в информационных партнёрах, рекламную вкладку в брошюру участников.
Что ожидается от вас в этом случае:
1. Продвижение конференции до события.
2. Интересный репортаж с места события - желательно в реальном времени, комментарии, цитаты, фотографии, прямые включения, интервью (можно постфактум).
? Выигранный билет нельзя обменять/продать или передать. В случае, если вы по какой-то причине не сможете воспользоваться билетом, сообщите организаторам - https://t.me/DenisIzmaylov
? Победитель будет выбран случайным образом. Ваши имя и фамилия будут опубликованы, в случае победы, все остальные ответы - конфиденциальны. Приём заявок завершится в воскресенье, 28 мая, в 23:59.
? Для участия в розыгрыше необходимо заполнить следующую форму: https://goo.gl/forms/By7hsLbOZCx2NhN13
Вопрос 1: давно ли июнь стал относиться к весне?


Denis
25.05.2017
12:45:18
:) Ок, верно

Kos
25.05.2017
12:49:20

Sergey
25.05.2017
12:49:49