@react_js

Страница 1361 из 5115
Oleg ?
29.05.2017
14:29:37
Например прилетело сообщение: "удалено сообщение с id: server_id"

И теперь мне нужно будет его искать и удалять

Mike
29.05.2017
14:35:41
И как это сделать?
ну например можно этот айди в пейлоад запроса пулить, и на сервере его запоминать и в ответ вставлять

Oleg ?
29.05.2017
14:36:56
На сервере автоикремент и PrimaryKey

Google
Oleg ?
29.05.2017
14:37:23
ааа

Ты об этом, не я и так знаю, ответ - у меня там санки и обычное замыкания

Проблема с обновлением

Стора

Частичный ответ на мой вопрос, который не устроил https://stackoverflow.com/questions/34600386/whats-the-best-way-to-replace-generated-id-with-server-id-in-redux-application

Вообщем забил искать решение, буду хранить не в объекте, а в массиве

Konstantin
29.05.2017
14:55:03
Я однажды обмолвился, что массивы это норм, и мне тут сразу хуёв понатыкивали

Max
29.05.2017
14:55:59
Не очень удобно

Почему нельзя просто одно ид хранить?

Google
Max
29.05.2017
14:58:25
Ну генери ил

Ид

Konstantin
29.05.2017
14:58:30
Я был в их числе
ага, так ты перебезчик))))

Max
29.05.2017
14:58:31
После Сейва его заменяй

Oleg ?
29.05.2017
14:58:57
У меня был аргумент, почему это плохо

Konstantin
29.05.2017
14:59:05
Перебежчик
я специально сделал ошибку!

Max
29.05.2017
14:59:14
Все вы так говорите

Oleg ?
29.05.2017
14:59:19
Но я забыл почему

Konstantin
29.05.2017
15:01:32
ладно, я ошибся. допустил грамматическую ошибку. даже не заметил, что слово было подчеркнуто. это потому-что я уже конкретно заебался за сегодня и голово не соображает ничего.

Oleg ?
29.05.2017
15:03:00
Зачем оправдываться, когда можно просто написать: ok, да

Max
29.05.2017
15:03:49
Но я забыл почему
Ну так сделай.

У меня на проекте щас в стейт не кладётся пока от сервера ответ не подучу

Тоже смешная третья опция

Oleg ?
29.05.2017
15:05:11
Надо выбирать что - то одно

А не сразу оба, а то звучит, как - то агрессивно

А так нейтрально

Поэтому в стейте оно хранится

Google
Max
29.05.2017
15:06:09
Храни в локальном сбейте

Стейте

Oleg ?
29.05.2017
15:10:27
А как отрисовывать прогресс в другой части приложения?

@syabro

Max
29.05.2017
15:11:21
Тут да, глобальный стейт. У тебя несколько объектов может грузиться?

Oleg ?
29.05.2017
15:11:29
Да

Вообще задача про загрузку файлов

Max
29.05.2017
15:11:51
Хотя пофигу. У тебя в санках через замыкание будет доступен локальный ид

Oleg ?
29.05.2017
15:12:05
После загрузки мне возвращается их ID

Перезаписывать думаешь?

Max
29.05.2017
15:12:22
Блин. Я с телефона

Набери в телегу

Max
29.05.2017
15:12:30
Лень писать

Oleg ?
29.05.2017
15:13:09
Ща

Решили подменять ID

*Заменять

Николай
29.05.2017
15:28:40


Поставил бряк в componentDidUpdate и вижу что он, а следовательно и doPrefetch, который отправляет запрос к бекенду, вызываются постоянно, независимо от результата shouldComponentUpdate.

Call Stack при вызове метода вот такой



Google
Николай
29.05.2017
15:29:12
Нагуглил что есть иструмент Perf (https://facebook.github.io/react/docs/perf.html), но я его явно не добавлял в приложение/ Подскажите что за mesaureLifeCyclePerf? почему он постоянно вызывается? и как быть в такой ситуации?

? ethorz
29.05.2017
15:33:05
componentWillReceiveProps

там ты под условие проверяй

this.props в нем будет указывать на предыдущее значение

а в параметрах укажи props > это новые пропсы

если проходит то вызвай метод

Николай
29.05.2017
15:42:11
спасибо! помогло))

Admin
ERROR: S client not available

Николай
29.05.2017
15:42:34
Но все же, мне интересно. В документации сказано: "Use this as an opportunity to operate on the DOM when the component has been updated. This is also a good place to do network requests as long as you compare the current props to previous props (e.g. a network request may not be necessary if the props have not changed)."

Т.е. в теории этот метод можно и нужно использовать для выполнения запросов к бекенду. А на практике получается что нет. Как так?

Судя по исходникам, в прод-сборке такого поведения не будет. Но как же быть с дев сборкой?

Николай
29.05.2017
15:52:37
params = 1

Nikita
29.05.2017
15:55:58
а форсапдейт зачем?

Max
29.05.2017
15:56:48
Точно 1? Я не уверен что Фета умеет в инт в качестве параметра

Фетч

Николай
29.05.2017
16:04:19
Точно 1? Я не уверен что Фета умеет в инт в качестве параметра
1 - точно. Про фетч немного не понял. Фетч это не JS Fetch Api, это просто кастомный метод, который вызывает axios

Max
29.05.2017
16:04:31
А, ок )

Nikita
29.05.2017
16:04:51
params = 1
ну ты знаешь ведь что при первом маунте, любом setState и forceUpdate shouldComponentUpdate не будет вызываться?

Николай
29.05.2017
16:09:04
ну ты знаешь ведь что при первом маунте, любом setState и forceUpdate shouldComponentUpdate не будет вызываться?
При первом мауте - да. при forceUpdate - да. А вот про setState не уверен. В документации сказано "setState() will always lead to a re-render unless shouldComponentUpdate() returns false. "

Google
Николай
29.05.2017
16:09:48
т.е. по идее shouldComponentUpdate должен вызываться после setState

хотя я использую реакт недавно, поэтому не уверен

ну вообще насчет forceUpdate согласен. по хорошему там наверно нужно переписать shouldComponentUpdate так чтобы он учитывал изменение стейта

Николай
29.05.2017
16:15:56
Nikita
29.05.2017
16:16:25
насчет какого вызова я тупанул?
я про себя и setState, scu будет вызываться конечно же

Николай
29.05.2017
16:16:36
аа

В общем, проблема была в моих флагах

Вот такой вариант работает, если кому интересно



А еще вопрос. Нужно ли в shouldComponentUpdate учитывать изменение children?

Den
29.05.2017
16:45:55
Николай
29.05.2017
16:47:51
эмм... раз children часть props, то по идее нужно. С другой стороны, по-моему, children это не совсем обычное свойство и возможно реакт сам определяет его изменение

Den
29.05.2017
16:53:58
Ключевое слово "возможно"

Но нет )

Николай
29.05.2017
16:56:29
Но нет )
ок. понял. спасибо

Den
29.05.2017
16:58:14
Для компонента children такой же prop, как и все остальные

Zae
29.05.2017
17:08:50
а использование тайп чекера это маст хев?

Nikita
29.05.2017
17:11:30

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