@react_js

Страница 4500 из 5115
Abu
28.07.2018
11:54:21
https://youtu.be/Ug_dwJa07Os
Неожиданно, Тактаров ?

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

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

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

Google
Юра
28.07.2018
12:19:38
вопрос конкретизируйте, что именно не понятно?
Как это сделать и отправить в редакс и данные сохранились уже в новом виде

Max
28.07.2018
12:19:50
Как это сделать и отправить в редакс и данные сохранились уже в новом виде
с помощью экшенов и редьюсера) ну правда, вопрос не о чем пока что… еще конкретики. Бэкэнд есть или нет или как?

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
Добавить в конец массива - не проблема, а вот изменить текущий, это почему то проблема, сами изменения в редюсере нужно сделать или перед отправкой?
улетает экшен типа { type: EDIT_COMMENT, payload: {index: 123123, text: ‘new text’} } в редьюсере ловится этот экшен и по индексу находится элемент, заменяется, возвращается новый массив

Редакс ведь возвращает всегда новый объект, а не мутируется
> всегда новый объект, а не мутируется вот всегда массив бывший и клонируется как будто бы, в нем только по индексу меняется элемент и возвращается а-ля новый массив

Юра
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
как вариант, все равно как, главное взять все что было в массиве комментов, засунуть в новый и заменить один из элементов по индексу.

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

у Дэна на egghead есть про это в принципе, и в первом и во втором туториале про редакс

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

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
Резюмирую, в голове вроде как есть понимание, что происходит, но на самом деле это не всегда происходит так

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

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

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

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

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

Artem
28.07.2018
13:19:03
Pharaon
что-то не найду

Kendr
28.07.2018
13:19:21
что-то не найду
Хз момент чекни

Artem
28.07.2018
13:19:48
Pharaon
ты про песню ??

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} }); };

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

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
https://redux.js.org/recipes/structuring-reducers/immutable-update-patterns вот тут полно решений
спасибо огромное, а то я только учусь, очень сложно пока врубиться

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

Michael
28.07.2018
14:05:43
entries[index].quantity = entries[index].quantity + product.quantity; здесь тоже
да, я понимаю из-за чего происходит мутация, я не знаю как правильно написать. спасибо за ссылки, сижу читаю, вникаю

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 при добавлении нового обьекта в массив?

Юра
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
Какая у тебя задача вообще?
https://gist.github.com/sanyco86/9df22a3c6bce7d24432a5def8fd373d8

Michael
28.07.2018
14:16:47
А, уже написали про это, извиняюсь
да, это я писал, что пробовал, но у меня что-то не получилось

копия получалась, но она почему то в setState не писалась((

Kelin
28.07.2018
14:18:47
like - height:100% dislike - height:100vh; Любопытство немного мучает :)
если что, 100vh херово работает на мобилках

когда строка браузера сдвигается/выдвигается

Michael
28.07.2018
14:21:20
({ items: prevState.items.filter((item) => item.id !== id) })
а prevState это из какой-то либы или это переменная какая-то?

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) } }));

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