@react_js

Страница 1508 из 5115
Dreamerinnoise
20.06.2017
09:38:14
на их основе запилить свой fade

И в него оборачивать то, что нужно скрывать

Google
Dreamerinnoise
20.06.2017
09:38:44
дальше стейтом

Алёна
20.06.2017
09:47:39
ммм. Шпашибо, но, нашла react-motion. Вроде прикольный

Pavel
20.06.2017
09:56:22
Господа, как вы разруливаете различия между объектами, которые получены с сервера и имеют настоящие id (старики) и только что созданными на клиенте пустыми новыми объектами (молодежь), которые на сервер ещё ни разу не посылали? Молодёжь не может получать id такого же формата из-за опасности возникновения коллизий, например. Молодёжь и старики по-разному удаляются, да и сохраняются через разные API. И всё такое прочее. Я сейчас генерирую молодёжи флаг isNew и даю временный`id` в виде new_42, после сохранения на сервер и получения реального id — заменяю на реальный. Подход кривоват, но работает. Есть ли какие решения получше?

Sergey
20.06.2017
09:57:06
\

Roman
20.06.2017
09:57:14
добавлять к старикам только после сохранения на сервер?

Max
20.06.2017
09:57:35
++

Pavel
20.06.2017
09:57:38
а разные таблицы и мигрирровать?
Это сваливание архитектурных проблем на юзера, что плохо для UX

Max
20.06.2017
09:58:02
временный id генери с помощью uuid

Pavel
20.06.2017
09:58:04
Пользователю такие особенности фиолетовы абсолютно

Max
20.06.2017
09:58:07
и коллизий не будет 100%

Konstantin
20.06.2017
09:58:19
Это сваливание архитектурных проблем на юзера, что плохо для UX
при чём тут? у тебя айдишка выдаётся БД? Если да, то пока они новые держишь в одной базе, как только все условия выполнены - переносишь в другую

временный id генери с помощью uuid
только уиид4, он гарантированно уникальный выдаст

Google
Pavel
20.06.2017
09:58:38
временный id генери с помощью uuid
Хорошее решение, спасибо. А флаги?

Max
20.06.2017
09:58:43
он там по дефолту

Konstantin
20.06.2017
09:59:38
ну и на сервере тоже нужно чтобы uuid
но каждый вызов выдаст новый юиид. как он их отслеживать будет?

Pavel
20.06.2017
09:59:53
при чём тут? у тебя айдишка выдаётся БД? Если да, то пока они новые держишь в одной базе, как только все условия выполнены - переносишь в другую
Не очень понял. Ты про базу сервера? У меня пользователь может нажать кнопочку «Добавить строку в таблицу» и UI ему добавит пустую строку для заполнения. И пока он её не заполнит и она не пройдёт валидацию — на сервер ничего не отправится.

Max
20.06.2017
10:00:01
obj = {id: uuid} dispatch(saveObj(obj)) axios.post(url, obj).then((serverObj)=> dispatch(updateTemporaryObject(obj.id, serverObj)

как-то так

Pavel
20.06.2017
10:01:07
зачем флаги?
А как разницу в API разрешать? Создать новый объект и изменить старый — это два разных REST-метода.

Nikolay
20.06.2017
10:01:12
надо чтоб на сервере в БД в поле id использовался uuid, на клиенте создается uuid по такому же алгоритму, ну и все это отправляется на сервер, профит

Max
20.06.2017
10:01:14
выше смотри

код

Pavel
20.06.2017
10:01:34
Да, сервер я не контролирую.

Max
20.06.2017
10:01:40
на сервер разумеется без id уходит

Max
20.06.2017
10:01:43
т.е. POST

Konstantin
20.06.2017
10:02:07
на сервер разумеется без id уходит
Та чё, можно ж и с юиидом отправлять. Базу просто надо будет настрощать

Google
Max
20.06.2017
10:02:20
ибо создание обьекта

это для PUT

но зависит от апи конечно

Konstantin
20.06.2017
10:02:41
ну обычно в POST нельзя id кидать
если у него монга, там id = _id

Сергей
20.06.2017
10:02:49
Nikolay
20.06.2017
10:02:55
при каждом вызове будет новый юиид. присваиваение должно быть в 1 месте
да, единожды на клиенте, потом уходит на сервер и все, если с сервера пришло с uuid то ничего не делаем

Konstantin
20.06.2017
10:02:59
если релляционные, то иначе

Max
20.06.2017
10:03:18
да похуй вообще что там на сервере создается

Сергей
20.06.2017
10:03:24
то как оно хранится в базе это одно а то что отдается клиентам другое если вы отдаете чистый объект из базы, то светлой вам памяти

Pavel
20.06.2017
10:03:25
obj = {id: uuid} dispatch(saveObj(obj)) axios.post(url, obj).then((serverObj)=> dispatch(updateTemporaryObject(obj.id, serverObj)
У меня щас примерно так и есть — после создания нового объекта на сервере мне возвращается реальный id и я заменяю им временный.

Max
20.06.2017
10:03:28
ну вот

Max
20.06.2017
10:03:33
флаги только не нужны

они просто лишние — у тебя весь код в одном контексте выполняется

Pavel
20.06.2017
10:05:12
Konstantin
20.06.2017
10:05:17
У всех скайп глючит?

Pavel
20.06.2017
10:05:27
Ну то есть я всё это спрятал в редукторах, конечно, но тем не менее

Pavel
20.06.2017
10:06:09
какие?
POST CreateNewObj и PUT UpdateObj условно (исправил)

Google
Max
20.06.2017
10:06:18
ну во-первых наоборот

Pavel
20.06.2017
10:06:36
А, да, наоборот

Max
20.06.2017
10:06:36
а во-вторых что значит различать?

Konstantin
20.06.2017
10:06:54
PUT —-> обновить полностью

Max
20.06.2017
10:06:59
сделай две функции createObject upateObject

Konstantin
20.06.2017
10:07:01
Update —-> некоторые поля

Max
20.06.2017
10:07:12
сделай 3

updatePartial :)

разница в том что заменять id ты должен только в createObj

Admin
ERROR: S client not available

Pavel
20.06.2017
10:07:36
а во-вторых что значит различать?
Новые объекты надо сохранять через POST, старые через PUT

Max
20.06.2017
10:07:44
ну

ты походу это в одном месте делаешь просто

и обозвал как-нибудь типа saveObj

Konstantin
20.06.2017
10:08:30
при чём между ПУТ и АПДЕЙТ есть своя разница.

А вот разделять как сохранение нового и старого объекта как ПОСТ и ПУТ не правильно с точки зрения методологии

Pavel
20.06.2017
10:09:11
и обозвал как-нибудь типа saveObj
Ну у меня в UI кнопка «Сохранить» дёргает onSave, который смотрит флаг isNew и дёргает уже или update или create.

Konstantin
20.06.2017
10:09:23
Google
Max
20.06.2017
10:09:34
Саранского ПТУ?

Konstantin
20.06.2017
10:09:51
http://www.restapitutorial.com/lessons/httpmethods.html

Max
20.06.2017
10:10:05
ииии?

Max
20.06.2017
10:10:18


пост - создать

пут - обновить все поля

что не так то?

Pavel
20.06.2017
10:10:38
Всё так

Konstantin
20.06.2017
10:10:41
Блин, перепутал Update === PATCH

Max
20.06.2017
10:10:56
да пофигу

Konstantin
20.06.2017
10:11:00
PUT---Update/Replace, PATCH---Update/Modify

Max
20.06.2017
10:11:01
мы щас преимуществнно про пост )

Сергей
20.06.2017
10:11:12
кинь ссылку на это плиз

Konstantin
20.06.2017
10:11:16
а не про то, как изменить старую запись?

Max
20.06.2017
10:11:20
http://www.restapitutorial.com/lessons/httpmethods.html

Сергей
20.06.2017
10:11:31
о спасибо

Konstantin
20.06.2017
10:12:01
не, про то как разделить апдейт и криейт
аааа ... ну дык криэйт - это ПОСТ. Апдейт - смотря какой.

Max
20.06.2017
10:12:20
if (obj.id) { this.updateObj(obj) } else { this.createObj(obj) }

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