
Abu
28.07.2018
11:54:21

gnoblin
28.07.2018
11:56:53
у меня глупый вопрос. если я накидаю сайтец на тильде - экспортну код. то потом я смогу кусок страницы в их html модуле сделать на реакте и залить все на гитхаб пейджес? ну или будет ли такое работать с вордпрессом, например

Dmitry
28.07.2018
11:59:33
можно, но это выглядит как копаться в мусорной помойке и пытаться собрать с этого что-то

Юра
28.07.2018
12:13:07
Ребят, такой вопрос, делаю на реакте комментарии, которые можно в форме добавить и они ниже отобразятся, так же хочу реализовать кнопки редактировать, удалить, само приложение на реакт+редакс,
Как правильно это реализовать?
В мой компонент который рендерит комментарий приходят пропсы: мой {..} и Id

Google

Max
28.07.2018
12:19:02

Юра
28.07.2018
12:19:38

Max
28.07.2018
12:19:50

Юра
28.07.2018
12:20:52

Den
28.07.2018
12:20:53
Главное, чтоб api было готово

Max
28.07.2018
12:22:10
принцип такой же будет, храните данные в массиве, изменяете по индексу, удаляете по индексу, добавляете - просто в конец массива

Юра
28.07.2018
12:22:37
Я просто думал, что нужно что бы из пропсов приходил в мой компонент весь мой массив, и при изменении и сохранении, вызывался метод который принимал весь массив, мой ид,новые данные внутри я бы делал проверку на ид, и возвращал новый массив
Который уже дальше бы диспатчил в редакс
Плохая идея?

Max
28.07.2018
12:23:02
не, вы диспатчите экшен, а в редьюсере возвращаете новый массив
то есть работа с комментариями, это классическая работа с туду листом (1 в 1)

Google

Юра
28.07.2018
12:24:11
Редакс ведь возвращает всегда новый объект, а не мутируется
Поэтому возникли проблемы из-за не знания как это делается

Max
28.07.2018
12:25:11

Юра
28.07.2018
12:26:57
Правильно хоть мыслю?

Max
28.07.2018
12:27:05
да
absolutely :)

Юра
28.07.2018
12:27:36
В редюсере фильтром перебираю и возвращаю новый массив ?

Max
28.07.2018
12:28:19
как вариант, все равно как, главное взять все что было в массиве комментов, засунуть в новый и заменить один из элементов по индексу.

Юра
28.07.2018
12:29:48

Max
28.07.2018
12:29:48
можно и объект сделать, где ключом является id коммента, а внутри - все про коммент
и затем просто наследовать весь объект и заменять одно свойство.
тут дело хозяина)
у Дэна на egghead есть про это в принципе, и в первом и во втором туториале про редакс

Паша
28.07.2018
12:30:23
Всем привет, ребят, кто-нибудь работал с react-select? Есть проблема - когда я выбрал какое-то значение из выпадающего списка и хочу, например, удалить последние 2 буквы из выбранного значения(например есть какое-нибудь значение с похожим названием), но получается так, что я удаляю слово целиком и это очень огорчает( Может кто-нибудь сталкивался с подобным и может подсказать?)

Юра
28.07.2018
12:31:20

Natalia
28.07.2018
12:31:48
а как проверяете типы в реакте? онли prop-types?

Kendr
28.07.2018
12:32:02

Natalia
28.07.2018
12:33:17
тайпскрипт?

Kendr
28.07.2018
12:33:26

Google

Natalia
28.07.2018
12:34:00
Но основная проблема Flow, что типы, которые вы пишите, напоминают предвыборную программу депутатов Верховной Рады Украины. То есть вы предполагаете, что некоторые типы будут туда приходить, а на самом деле туда приходит не совсем то, что вы ожидаете. К примеру, вы ожидаете, что в компонент всегда будет приходить пользователь, а иногда туда приходит null — всё, вы не поставили знак вопроса, Flow это никак не отловит. То есть полезность Flow начинает падать, как только вы начинаете его накручивать на существующий проект, где у вас в голове вроде как есть понимание, что происходит, но на самом деле это не всегда происходит так, как вы задумали.

Дмитрий
28.07.2018
12:35:33
Резюмирую,
в голове вроде как есть понимание, что происходит, но на самом деле это не всегда происходит так

Max
28.07.2018
12:38:33

Юра
28.07.2018
12:39:21

Artyom
28.07.2018
12:46:39

Kendr
28.07.2018
12:47:27

Abu
28.07.2018
12:52:02
?
Знаю этого чувака, не думал, что он в анимациях хорошо шарит.

gnoblin
28.07.2018
12:57:17
а если мне надо передать в онклик метод параметр, я типа такого могу сделать? <button onClick={this.clicked_getChannelDataURL(this.props.match.params.id) }/>

Kendr
28.07.2018
12:58:07

gnoblin
28.07.2018
13:16:22
() =>
я счастлив, все работает - спасибо

Kendr
28.07.2018
13:16:36

Artem
28.07.2018
13:18:02
Ребят, посоветуйте либу которая из московской datetime сделает что-то типа "5 минут назад" и еще учтет часовой пояс пользователя

Artem
28.07.2018
13:18:25
для комментов

Kendr
28.07.2018
13:18:25

Artem
28.07.2018
13:19:03

Kendr
28.07.2018
13:19:21

Artem
28.07.2018
13:19:48

Kendr
28.07.2018
13:19:54

Artem
28.07.2018
13:20:22
момент такое себе

from
28.07.2018
13:21:05

Google

from
28.07.2018
13:21:10
Или как он там

Artem
28.07.2018
13:21:25
там на русском?

Vladislav
28.07.2018
13:53:01

Michael
28.07.2018
13:54:46
ребята помогите пожалуйста
как сделать так, что бы не менять состояние, а склонировать его?
handleRemoveProduct = (id) => {
let {entries} = this.state.cart;
let index = entries.findIndex((x => x.id === id));
entries.splice(index, 1);
this.setState({ cart: {entries} });
};

Kendr
28.07.2018
13:55:12
Сплайс мутирует

Michael
28.07.2018
13:56:51
а тут?
handleAddToCart = (product) => {
let {entries} = this.state.cart;
if(this.checkProduct(product.id)){
let index = entries.findIndex((x => x.id === product.id));
entries[index].quantity = entries[index].quantity + product.quantity;
} else {
entries.push(product);
}
this.setState({ cart: { entries }, quantity: 1 });
};

Admin
ERROR: S client not available

Kendr
28.07.2018
13:57:02
Коллбек в сетстейт

Michael
28.07.2018
13:58:37

Roman
28.07.2018
13:59:17
спасибо большое
https://redux.js.org/recipes/structuring-reducers/immutable-update-patterns вот тут полно решений

Michael
28.07.2018
14:00:01

Kendr
28.07.2018
14:04:01
спасибо большое
entries[index].quantity = entries[index].quantity + product.quantity;
здесь тоже

Michael
28.07.2018
14:05:43

Kendr
28.07.2018
14:06:06
СетСтейт принимает еще аргументом колцбек, это базовые знания, лучше доку перечитай, там на первых страницах

Michael
28.07.2018
14:06:57
уже начал читать про cloneDeep у lodash
но, что-то так и не смог ничего сделать

Kendr
28.07.2018
14:09:20
Какая у тебя задача вообще?

Google

Юра
28.07.2018
14:09:21
ребят, а как правильно добавить id при добавлении нового обьекта в массив?

Kendr
28.07.2018
14:09:45

Юра
28.07.2018
14:09:48
не правильно написал)
диспатчю новый обьект в массив, Текст + автор
хочу и id каждому добалять, который будет ++ каждый раз

Michael
28.07.2018
14:10:07

Kendr
28.07.2018
14:10:08
({ items: prevState.items.filter((item) => item.id !== id) })
({ items: [...prevState.items, newItem] })

Michael
28.07.2018
14:11:36

Bear
28.07.2018
14:14:56
А, уже написали про это, извиняюсь

Michael
28.07.2018
14:16:47
копия получалась, но она почему то в setState не писалась((

Kendr
28.07.2018
14:17:09

Kelin
28.07.2018
14:18:47
когда строка браузера сдвигается/выдвигается

Michael
28.07.2018
14:21:20

Kendr
28.07.2018
14:21:28
Сетстейт коллбек принимает, уже третий раз

Michael
28.07.2018
14:26:02
this.setState(prevState => ({
cart: { entries: prevState.cart.entries.filter((item) => item.id !== id) }
}));