
a
20.01.2017
07:31:56
пиши сам

Alex
20.01.2017
07:32:15
есть вопос по хранению большого объема данных

Maxim robox
20.01.2017
07:32:28

Siarhei
20.01.2017
07:32:41
Всем привет

Google

a
20.01.2017
07:32:43
тогда в институт

? ethorz
20.01.2017
07:33:10
самому интересно)

a
20.01.2017
07:33:31
это прям реально проблема: люди код не пишут, а им еще и деньги за это платят

Siarhei
20.01.2017
07:33:47
Ребята, какой посоветуете шаблон для реакт приложения?

Gheorghe
20.01.2017
07:33:53
На сколько плохо хранить так токен?

? ethorz
20.01.2017
07:34:13
обычно токены хранятся в кукисах

Aleksey
20.01.2017
07:34:15

? ethorz
20.01.2017
07:34:29
ну, так действительно будет лучше

Maxim robox
20.01.2017
07:34:58

Aleksey
20.01.2017
07:35:01
ну вот просто с ходу же видно что если хоть минимальное изменение надо будет внести то придется в каждой строчке править

a
20.01.2017
07:35:42

Google

Aleksey
20.01.2017
07:35:58
если оно есть уже в двух местах то повод подумать об оптимизации. не факт что оно надо. достаточно ссылку сделать чтобы потом не забыть. если в трех - то, однозначно, в общий код

? ethorz
20.01.2017
07:36:01

Siarhei
20.01.2017
07:36:55
^ а локал сторадж?

? ethorz
20.01.2017
07:39:18

Aleksey
20.01.2017
07:39:21
ваще, насчет этого простое правило. если что-то копипастишь и правишь - повод подумать а не больше ли в этом общего чем разного. ну и в общий код если что. одни из самых стремных багов вылазят при копипасте когда что-то поправил а где-то забыл )

? ethorz
20.01.2017
07:39:28
т.е. в куках можно указать срок хранения в 100 дней
или 2 дня
по истечению срока - очищается
тут уже зависит от задачи

Siarhei
20.01.2017
07:40:09
По-моему время жизни токена должно хранится в самом токене и на сервере это должно валидироваться

Maxim robox
20.01.2017
07:40:10

? ethorz
20.01.2017
07:40:52
потому что можно через консоль изменить срок этого токена

Siarhei
20.01.2017
07:41:45
Не получится ) у токена есть подпись

? ethorz
20.01.2017
07:41:54
разве?

Dmitry
20.01.2017
07:41:54

Siarhei
20.01.2017
07:41:59
если мы берём, к примеру, jwt

Maxim robox
20.01.2017
07:42:31

? ethorz
20.01.2017
07:43:47

Siarhei
20.01.2017
07:44:31
/stat@combot

Google

Combot
20.01.2017
07:44:31
combot.org/chat/-1001032883247

Siarhei
20.01.2017
07:45:11

? ethorz
20.01.2017
07:46:47
а, ты про это. Ну да, это логично

Siarhei
20.01.2017
07:47:53
А кто-нибудь работал с механизмом обновления токена через рефреш токен?

? ethorz
20.01.2017
07:49:26
причем это сторонние АПИ туда их сохраняют

Siarhei
20.01.2017
07:49:57
Т.е. если на некий запрос приходит 401, то мы должны сохранить где-то данный запрос, потом сделать запрос на обновление токена через рефреш токенЮ сохранить новые токены и повторить первоначальный запрос

Danil
20.01.2017
07:55:28
В общем решил все переделать, создать отдельный компонент в котором будет инпут кнопка и попап с флагами и в нем уже всю логику нормально сделать, тем более такой компонент в нескольких местах используется. А то реально написал гавнокода какого то

? ethorz
20.01.2017
07:58:50
чтобы не плодить простыню

Danil
20.01.2017
08:05:49
Я хотел в этот компонент как константу добавить

Danil
20.01.2017
08:06:17
Ты имеешь в виду массив создать в другом файле и экспортировать его?

? ethorz
20.01.2017
08:10:31
да

Ivan
20.01.2017
08:48:24
как в yarn устанавливать dev-dependencies?
--save-dev устанавливает как dependencies

? ethorz
20.01.2017
08:49:48
yarn add <package> —dev

Ivan
20.01.2017
08:50:08
угу пасиб

? ethorz
20.01.2017
08:50:18
попробуй, если не поможет, почтистить кеш
yarn cache clean

Google

Duman
20.01.2017
09:00:21
Вопрос: в реакт компоненте есть ли какой нибудь уникальный ключ или нужно делать свое? у меня есть компонент обертка над формой в которую я начинаю фиксировать другие компоненты которые внутри него по componentWillMount и по componentWillUnmount убирать. Так вот внутри формы есть два одинаковых компонента, как их отличить друг от друга?

? ethorz
20.01.2017
09:01:14
ориентироваться по key?
key={state.id}
сделай им свой уникальный ключ
я думаю это вручную надо

Admin
ERROR: S client not available

Duman
20.01.2017
09:04:39
а _reactInternalInstance._debugID
или _reactInternalInstance._mountOrder нельзя их использовать? это не уникальные ключи?

Maxim robox
20.01.2017
09:07:02

Duman
20.01.2017
09:08:30
нет их много, они формируются динамический и удаляются при определенных условиях, так вот они должны фиксироваться и удаляться из формы

Maxim robox
20.01.2017
09:10:22

Duman
20.01.2017
09:10:26
вернее форма должна это все правильно фиксировать, вопрос состоит в том есть ли внутренний ключ у реакт компонентов, некий хэш ключ?
получается нету хэш ключа и надо делать самому, ок спасибо!

Aleksey
20.01.2017
09:13:53
чота намекает что снова тяжелое наследие бэкбона сказывается.
в реакте нет нужды следить за компонентами и вручную их убирать. они автоматом добавляются или убираются из дома в зависимости от того что там рендер нарендерил. key нужен для плоских списков т.к. reconcilation для элементов одного типа и вложенности не может определить правильно кто из них кто при изменениях

Duman
20.01.2017
09:18:57
у меня форма которая автоматом строить модель в зависимости от вложенных в него данных и проверяет валидность, так вот вложенные компоненты поэтому и должны сказать форме что он в нем создался и выписался когда он собирается уничтожится


Aleksey
20.01.2017
09:21:29
тогда ты неправильно понял смысл componentWillMount/componentWillUnmount. у тебя есть какие-то события которые добавляют/убирают элемент в форме - клик на кнопке или типа того. вон они и должны обновлять стейт по которому уже в форму добавятся/удалятся новые элементы. cwm/cwum это уже побочки этого процесса.
ты пытаешь в обратную сторону перевернуть рендер. нажали кнопку -> удалился элемент -> отработал componentWillUnmount -> обновили стейт. а надо
нажали кнопку -> обновили стейт -> удалился элемент. cwum штука левая. все что должно зависеть от удаления элемента должно знать об этом из изменения стейта а не от cwum
рекомендую глянуть в сторону redux-form. не без косяков либа. но мерещится мне что ты изобретаешь велосипед.
ну да, тянуть ее стоит если редакс в проекте уже есть. так с бухты барахты весь стэк втягивать ради одной формы смысла нет.


Alex
20.01.2017
09:44:46
День добрый!
Есть ли какие подводные камни с Emitter
const em = new Emitter;
em.on('msg', e => console.log(e));
em.emit('msg');

Google

Alex
20.01.2017
09:48:45
Может я что пропустил? У меня в backbone много где используется.

Duman
20.01.2017
09:49:11

Aleksey
20.01.2017
09:50:27
если тебе приходится уведомлять родителя из чайлда значит поднимай стейт выше. основная фишка реакта что здесь данные ходят только сверху вниз а не наоборот.
ну и не должно быть разделенного стейта. если тебе приходится что-то с чем-то синхронизировать - точно косяк архитектуры. поднимай и объединяй стейты

Duman
20.01.2017
09:54:18
с данными проблем нет, данные как положено сверху вниз текут, вверх ниче не идет

Danil
20.01.2017
10:36:27
С чем может быть связано то, что я в инпут ничего ввести не могу
Используется react input mask
Что с ончэйнджем что без него

Vladimir
20.01.2017
10:40:52

Danil
20.01.2017
10:44:47
Нет

Aleksey
20.01.2017
10:46:03
если ты передаешь туда value то должен ее на onChange обновлять. если тебе нужен uncontrolled компонент - передавай туда defaultValue

Danil
20.01.2017
10:51:49
Все разобрался, я просто маску не вводил не так как в библиотеке
Маску надо было вводить в формате +7(999)999-99-99, а я вместо 9 '_' писал

? ethorz
20.01.2017
11:03:36
это редакс форм?

Danil
20.01.2017
11:05:15
React input mask
А чтобы компонент перерендерился shouldComponentUpdate должен просто тру вернуть?

Dmitriy
20.01.2017
11:15:28
Есть либа с такой функцией? foo(1, 'day') === '1 day' foo(2, 'day') === '2 days'