@react_js

Страница 847 из 5115
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
а все флаги вынести в константу?
ну, я бы массив сделал типа ``` const COUNTRY_DATA = [ { flag: 'russia', name: 'Russia' }, ... ]

? 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

? ethorz
20.01.2017
07:43:47
если мы берём, к примеру, jwt
если нельзя изменить, есть ли необходимость валидировать его со стороны сервера?

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
если нельзя изменить, есть ли необходимость валидировать его со стороны сервера?
а время жизни токена (если берём access) никто не может изменить

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

? 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
В общем решил все переделать, создать отдельный компонент в котором будет инпут кнопка и попап с флагами и в нем уже всю логику нормально сделать, тем более такой компонент в нескольких местах используется. А то реально написал гавнокода какого то

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
а _reactInternalInstance._debugID или _reactInternalInstance._mountOrder нельзя их использовать? это не уникальные ключи?
Если компонентов всего два, то дай им два ключа сам. Зачем это?

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 много где используется.

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'

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