
Igor
18.06.2018
15:57:21
ну типа ты привязал роутинг и сделал подобие контроллеров. Если честно лично я бы такое не решился юзать, но уверен что людям с бэкграудном на C# будет комфортно

Alex
18.06.2018
15:57:36
+ этот подход позволяет протестировать логику отдельно от компонентов

Igor
18.06.2018
15:57:56
ну анстейтед тоже прекрасно позволяет

Alex
18.06.2018
15:59:02

Google

Igor
18.06.2018
16:00:09
роуты вообще такая история, что их может и не быть. Поэтому твои лайфсакл методы это эрзац лайфсайкл реактовских компонентов, и вобщем смысле они или зависит от конкртного роутера, или вообще не работают для части случаев. Например - React native
а если убрать привязку к роутиингу но получим тотже анстейтед, но на тайпскрипте и с DI

Дмитрий
18.06.2018
16:01:18
Это будет уже не тот же unstated

Alex
18.06.2018
16:03:14
ща это в виде мидлвар со стрёмным апи на редаксе делают
мой подход при отсутствии роутов, позволяет не имплементить две функции, которые кстати и при наличии роутов не обязательно, и это пока набросок, т.к. хочется реализовать DI в реакт, т.е. ты запрашиваешь конкретный сервис в компонент

Arthur
18.06.2018
16:05:55
в byIds пишется исходный объект

Сергей
18.06.2018
16:11:50
Деструктуризация может работать неадекватно если ты не знаешь как она работает
Let вместо const... Нда

Arthur
18.06.2018
16:12:14
да оно хоть так, хоть так не работает
с такими тонкостями я в жсе с 2015 не работал, поэтому многое забыл

Abu
18.06.2018
16:12:34
Мы же хз, что за данные у тебя там

Google

Abu
18.06.2018
16:12:42
И какой результат тебе нужен
А деструктуризация работает норм

Сергей
18.06.2018
16:13:25

Arthur
18.06.2018
16:13:29
данные:
const initialState = {
friends: [1, 2, 3],
friendsByIds: {
1: {
id: 1,
name: "Name 1"
},
2: {
id: 2,
name: "Name 2"
},
3: {
id: 3,
name: "Name 3"
}
}
};
нужно удалить объект с приходящим айдишником

Сергей
18.06.2018
16:14:12

Arthur
18.06.2018
16:14:32
на SO тоже полно таких примеров. первую переменную всё норм заносит, а в byIds исходный объект попадает
просто я значение ключа обернул в [], чтобы он не по имени использовался

Сергей
18.06.2018
16:15:20
нет же
Для массивов квадратные скобки
Установи нормальный линтер
Сразу кучу проблем увидишь

Arthur
18.06.2018
16:17:05
бляха...
не, там всё правильно
просто это es7 уже идёт
я не заметил :)

Сергей
18.06.2018
16:17:54
У тебя бы не компилилось

Arthur
18.06.2018
16:21:42
тогда хз, в чём дело
ну в первую переменную всё ок заносится, в другую нет

Google

Alexander
18.06.2018
16:21:58
Чувак упорный, спорит :)

Arthur
18.06.2018
16:22:17
пример из мозилы
let {[key]: foo} = {z: 'bar'};

Artem
18.06.2018
16:22:39
Господа, посоветуйте компонент аудио плеера для реакта

Arthur
18.06.2018
16:22:46
часа два назад натыкался на такой же, как у меня код

dima
18.06.2018
16:24:30
ух так себе
должно работать удаление

Cenator
18.06.2018
16:26:11
полотна кода на гист

Artem
18.06.2018
16:26:40

Arthur
18.06.2018
16:29:02

Cenator
18.06.2018
16:29:32
@KsGOw в этот раз лично - полотна кода на гист

dima
18.06.2018
16:31:31
не вернул старый стейт. Там же еще что то было ?

Arthur
18.06.2018
16:32:03
т.е. ?

dima
18.06.2018
16:33:55
в первом редьюсере вернул { state, friendsByIds } потом { friend, friendsByIds }
поставь логер и проверь что делаешь. Я не могу по куску редьюсера вангануть

Arthur
18.06.2018
16:36:23
о, кстати, да. там вместо state должно было быть friends
но проблему это не решает, т.к. та ветка не использовалась )
а просто в гугле отрабатывает
видимо, нужно пойти отдохнуть и потом просмотреть весь код

Максим
18.06.2018
16:42:00
как правильно написать style={{width:60%}}

Google

Arthur
18.06.2018
16:43:21

Rain
18.06.2018
16:57:58
60% строкой напиши
как правильно написать style={{width:60%}}

Denis
18.06.2018
16:58:10

Admin
ERROR: S client not available

Arthur
18.06.2018
16:59:06
style={{ width: '60%' }}

Kendr
18.06.2018
16:59:07
?

Max
18.06.2018
16:59:27

Kendr
18.06.2018
16:59:35
Смешно
Ну а зач инлайн стили юзать

CFFTRP
18.06.2018
17:03:00
а как в саге получить доступ к стейту?

Cenator
18.06.2018
17:05:17

Max
18.06.2018
17:05:34

Cenator
18.06.2018
17:05:51

Max
18.06.2018
17:06:01
А не синтакс еррор?
+%

CFFTRP
18.06.2018
17:07:20
Только через селекторы, как я понимаю
а как в саге получить доступ к стейту?

Cenator
18.06.2018
17:14:11

Google

Oleg
18.06.2018
17:18:35

Антон
18.06.2018
17:56:46
Народ, подскажите хороший учебник для чистого когда на русском желательно

М
18.06.2018
17:59:50

Антон
18.06.2018
18:00:30

Варя
18.06.2018
18:10:03
redux-saga, где найти внятное объяснение того, что происходит тут? https://pro.ant.design/docs/server

Cenator
18.06.2018
18:13:35
>сага
>Внятное

Сергей
18.06.2018
18:14:57
чем pro отличается от обычного

Варя
18.06.2018
18:16:25
pro генерирует готовую страничку, а нуб который я потом роется по его наполовину китайской документации

Кирилл
18.06.2018
18:45:57
Привет всем!
Нужно сайт снять на видос (сайтик скролится сверху вниз) чтобы в презентацию вставить
Как можно это оформить? (плавный автоматический скрол )

rbsx
18.06.2018
18:48:00
https://developer.mozilla.org/ru/docs/Web/API/Element/scrollIntoView

CFFTRP
18.06.2018
18:57:53
@itsjohncena а статью про структуру проекта не ты писал же?
а Родионов?

Cenator
18.06.2018
18:59:27

CFFTRP
18.06.2018
19:00:31
да
ну в принципе, логика ясна.
Каждый контейнер называть модулем и всю вермишель в этой же директории модуля. А stateless компоненты ? в components/ ?

Cenator
18.06.2018
19:16:07