
Sergey
30.08.2018
21:01:55
Почему используешь именно этот контенттайп для такого тела? И правильно ли так использовать?

Андрей
30.08.2018
21:16:26
ребята, вопрос по алгоритмам больше
есть массив с объектами, у объктов есть их количество
например, массив:
[
{ticket: {...}, count: 2},
{ticket: {...}, count 4},
]
Как рендерить через .map каждый билет и выводить на экран только текущий?
То есть должно получится всего 6 форм для билетов, 2 из которых по одному билету (коих 2), 4 из которых по второму билету (коих 4)
вероятно, надо считать диапазон для каждого билета и выводить форму для того билета, который попадает в нужный диапазон, да?
(0-1, 2-5)

Google

Андрей
30.08.2018
21:20:20
или легче сделать локальный массив из этого массива, продублировав первый билет 1 раз, а второй билет 5 раз и будет массив из 6 элементов и его будет проще перебрать используя .map
Я запутался и хочется увидеть норм решение(

Andrey
30.08.2018
21:21:53
Для начала стоит обдумать как описать проблему. Из того, что ты написал понятно ровно 0

Андрей
30.08.2018
21:23:42
кейс такой:
пользватель выбрал 2 билета за 50 рублей и 4 билета за 100 рублей
для каждого билета необходимо заполнить форму (имя + телефон)
хранится это в том виде, что я скинул на скрине - 2 билета и выбранное количество билетов каждого типа
уже яснее?)
нужно вывести по очереди форму для каждого билета
две формы для билетов за 50 рублей и 4 формы для билетов за 100 рублей

Сергей
30.08.2018
21:31:38
Создаёшь один и тот же билет count раз?

Андрей
30.08.2018
21:32:37

Сергей
30.08.2018
21:33:07
Я просто пытаюсь понять. Чем не подошёл .fill например.
И зачем вообще нужен такой костыль

Андрей
30.08.2018
21:35:31

Сергей
30.08.2018
21:35:51

Google

Андрей
30.08.2018
21:36:44

Andrew
30.08.2018
21:39:12
Господа, ай нид хэлп. Пишу проект на react+redux. Так как в этом стэке не обладаю большим кругозором, есть скорее всего очевидный для вас вопрос.
Является ли злом для мелких внутрикомпонентных манипуляций типа скрыть/показать кнопку использовать state компонента без экшенов и редуксов?

Артур
30.08.2018
21:39:42

Irina
30.08.2018
21:39:48

Dmitry
30.08.2018
21:40:36
const tickets = selectedTickets.reduce((acc,el)=>acc.concat(new Array(el.count).fill(el.ticket))
}, [])

Andrew
30.08.2018
21:41:29
Гуд, спасибо ?

Андрей
30.08.2018
21:41:29
больно такой код читать)

Сергей
30.08.2018
21:41:56

Dmitry
30.08.2018
21:42:25

Сергей
30.08.2018
21:42:48
В стейте надо держать данные либо временные либо не влияющие на флоу логики:
незаполненные формы
Состояние выпадушек
...

Cenator
30.08.2018
21:43:18

Сергей
30.08.2018
21:43:24
Он же наоборот против new для встроенных типов

Cenator
30.08.2018
21:43:35

Сергей
30.08.2018
21:43:47

Sergey
30.08.2018
21:44:56
Народ, пришел на проект, работал какое-то время с одним человеком по бэку, мы создали что-то вроде мидлвары с конфигом для axios, где указали единые заголовки для get, post запросов с content-type: application/x-www-form-urlencoded, это чем-то было обосновано. В теле post запросов передавали обычный JSON объект. Для каких целей было сделано именно так, не помню.
Сейчас на бэк пришел новый человек и утверждает, что это категорически не правильно и из-за этого не может использовать часть либ, хотя до этого никаких проблем не возникало. Сменить конфиг или передавать туда контент тайп не принципиально, но хочется разобраться, почему так нельзя или почему так можно???
СОБСТВЕННО ВОПРОС: в чем реальная причина того, что нельзя передавать данные по типу {"data": ..., "anything": ["ddd", ...]} с content-type: application/x-www-form-urlencoded??? или это допустимо???

Dmitry
30.08.2018
21:45:39
эээ

Artem
30.08.2018
21:45:40
тебе к бэкэндерам надо)

Cenator
30.08.2018
21:45:55
new Number и т.д.
https://github.com/sindresorhus/eslint-plugin-unicorn/blob/master/docs/rules/new-for-builtins.md

Google

Dmitry
30.08.2018
21:46:00
мы надели трусы на голову и уши не мерзли, а потом нам говорят что так делать не надо
если категорично говорить

Sergey
30.08.2018
21:46:10
А со стороны фронта?

Сергей
30.08.2018
21:46:44

Dmitry
30.08.2018
21:46:46
например в гете можно бади передвать, но так никто не делаеет

Artem
30.08.2018
21:47:11

Dmitry
30.08.2018
21:48:09
выглядит так что чувак на беке был слабый, запутался, а фронт поддался

Artem
30.08.2018
21:49:25
да и позывы эх сейчас перепишу как надо, часто проваливаются до первого затыка)
где делается что то нестандартное)

Андрей
30.08.2018
21:51:52
not bad
http://jsben.ch/YoS3S

Sergey
30.08.2018
21:52:10
выглядит так что чувак на беке был слабый, запутался, а фронт поддался
Возможно, у меня пол года опыта реального, тогда просили это, делалось, как просили или нужно было, что-то объяснили, что не помню. В Гугле встречал, что так используют, да и здесь встречается в чате, буквально час назад
В принципе ответ ясен, спасибо)

Dmitry
30.08.2018
21:54:01
так что данька абрамов завещал
“не мутируй!”

Андрей
30.08.2018
21:54:50

Admin
ERROR: S client not available

Dmitry
30.08.2018
21:55:17
ну у тебя дублирование остается, но инсанс тикета тот же будет
как и сдесь собственно
ссылка на тикет остается той же и ты можешь ticket.customer = 1

Google

Dmitry
30.08.2018
21:56:31
и поменяется в двух местах

Андрей
30.08.2018
21:56:44
ну мне там не надо изменять что-то, только вывести

Dmitry
30.08.2018
21:56:50
ну тогда ок

Андрей
30.08.2018
21:56:58
по сути создаю массив с этими дубликатами лишь для удобства
но понимаю, что это лишнее действие

Dmitry
30.08.2018
21:57:16
но типа если где-то завтыкаешь со ссылками, то потом будет хороший вечер дебага
может тогда просто итератор написать какой-то ?

Artem
30.08.2018
21:58:09
и redux будет молчать как рыба)

Андрей
30.08.2018
21:58:33
казалось бы, такая простая задача, а я в затупе диком(

Dmitry
30.08.2018
21:59:21
типа вместо того что бы создавать вот такие массивы которые баги создадут
а в редуксе рили могут быть баги из-за этого

Artem
30.08.2018
22:01:10
еще хороший вариант подняться на уровень выше по задаче, посмотреть на это все с самого начала, в 5 случаях из 10 находится более простое решение

Dmitry
30.08.2018
22:02:12
но можно просто захуярить шелоу клон тикета при мапе
и все в шоколаде)

Artem
30.08.2018
22:03:28
технический долг опасная штука, она копится капец как быстро, лучше не увлекатся)

anna
30.08.2018
22:29:48
так получилось что нужно в стейт записывать значение из пропса, если оно пришло. где это лучше делать? в костуркторе?

Spaider
30.08.2018
22:31:19
Конструктор вызывается только один раз, а если оно придёт не сразу?

Cenator
30.08.2018
22:31:23
getDerivedStateFromProps

Oleg
30.08.2018
22:33:12
А какой кейс? Если это controlled component, то лучше сделать как в downshift https://github.com/paypal/downshift/

Google

Artem
30.08.2018
23:26:52
ну проверь, что у тебя в стейт, и что нового в пропсах

Ignos
31.08.2018
01:55:33
Файл сам в себя себя импортирует? Зачем?