@react_js

Страница 76 из 5115
Denis
02.05.2016
17:42:46
Сейчас попробую

Т.е viewer?

viewer: User

в GetFatQuery мы указываем те данные, что нам нужны назад от мутации?

Google
Denis
02.05.2016
18:04:04
а

Oleg
02.05.2016
18:07:24
кто любит в Clojure и ClojureScript — прямо сейчас идёт хэнгаутс с tonsky https://plus.google.com/hangouts/_/hoaevent/AP36tYdSQ4H5i0-KC9l7ROwcprmKn4GcL7f8FVbPaUoj7h0P7NIEdw?hl=en&authuser=0

Viacheslav
02.05.2016
18:08:06
@DenisIzmaylov получилось?

Denis
02.05.2016
18:11:07
причём user в fatQuery отсутствует, видимо из getConfig() добавляет

Viacheslav
02.05.2016
18:12:34
если ты берешь из viewer значит надо viewer

Ҫѐҏӗѫӑ
02.05.2016
18:12:47
This video call is full.

как посмотреть этот хенгаут-то?

на ютюб транслируют?

Viacheslav
02.05.2016
18:16:08
в fat query указывать parent не надо

Denis
02.05.2016
18:17:05
в getConfig() мы можем использовать только то, что в fatQuery?

описали

Viacheslav
02.05.2016
18:17:34
там зависит от типа конфига

Denis
02.05.2016
18:18:40
Если образно задачу сформулировать: есть viewer.books(filter: UNREAD) и нужно вызвать мутацию, которая удалит book из этого фильтра и перенесёт в filter: READ

Google
Denis
02.05.2016
18:19:38
Как я понял, для этого необходимо описать две записи getConfig() - FIELDS_CHANGE и RANGE_ADD

Viacheslav
02.05.2016
18:19:46
это похоже на правду кроме parent

Denis
02.05.2016
18:19:50
rangeBehaviors: { 'filter(READ)': 'append', 'filter(UNREAD)': 'remove', },

Viacheslav
02.05.2016
18:20:37
parentName viewer parentID Id of viewer

Denis
02.05.2016
18:22:22
Да, viewer имеет тип User, но Payload у мутации: book: Insight! bookID: ID! topic: Topic! bookEdge: TopicBooksEdge! user: User!

Viacheslav
02.05.2016
18:25:01
parent не из payload

это имя в кеше

оно совпадает с именем поля

Denis
02.05.2016
18:26:00
Когда я описываю в getConfig() через user type: 'RANGE_ADD', parentName: 'user', parentID: props.user.id, connectionName: 'books', edgeName: 'bookEdge', rangeBehaviors: { 'filter(READ)': 'append', 'filter(UNREAD)': 'remove', }, Получаю ответ от сервера: Cannot query field \\"topic\\" on type \\"TopicBooksEdge\\".","locations":[{"line":162,"column":5}]},{"message":"Fragment \\"F2\\" cannot be spread here as objects of type \\"TopicBooksEdge\\" can never be of type \\"UserBooksEdge\\"

Viacheslav
02.05.2016
18:27:14
хм

откуда поле topic у edge?

books.edges.topic

Denis
02.05.2016
18:30:39
есть books.edges.node:Book и books.edges.topic:Topic

Viacheslav
02.05.2016
18:42:05
вы сами добавили,

?

просто это не описано в стандарте и может быть проблемы из-за этого

вернее добавить book.topic

Denis
02.05.2016
18:46:34
у клиента такой API уже есть, вроде на других приложениях работает

backend не мы в этом проекте делаем

Viacheslav
02.05.2016
18:53:59
понятно, хм

Google
Viacheslav
02.05.2016
18:54:49
если сделать таки parentName: "viewer" что будет?

Denis
02.05.2016
19:02:40
Invalid field name on fat query, viewer

причём если user поставить

type: 'RANGE_ADD', parentName: 'user', parentID: user.id, connectionName: 'topics', edgeName: 'topicBookEdge', rangeBehaviors: { 'filter(READ)': 'append', 'filter(UNREAD)': 'remove', },

он даже обновляется

но

кстати, response уже другой приходит. оказывается getConfig() на ответ влияет тоже

Viacheslav
02.05.2016
19:06:13
да, влияет ?

они друг друга дополняют

Denis
02.05.2016
19:06:43
что-то новенькое )

но сообщение странное: Warning: RelayMutation: The connection `topics{filter:"FAVORITE"}` on the mutation field `user` that corresponds to the ID `VXNlcjowMGY5ZmNhZS1jM2YyLTQ2MWMtOWJiMy1mNzRmNGM0OWE1ZmY=` did not match any of the `rangeBehaviors` specified in your RANGE_ADD config. This means that the entire connection will be refetched. Configure a range behavior for this mutation in order to fetch only the new edge and to enable optimistic mutations or use `refetch` to squelch this warning.

Viacheslav
02.05.2016
19:08:03
тут фильтр favorite

а на скриншотах read и unread

Denis
02.05.2016
19:09:16
и в коде так

он как-то модифицирует внутри всё видимо

Viacheslav
02.05.2016
19:10:07
ты где-то фетчишь favorite?

видимо он хочет чтобы ты описал как мутация влияет и на этот случай

Denis
02.05.2016
19:10:41
нет

а, понятно тогда почему работает, потому что он refetch просто делает

Relay :P

Google
Viacheslav
02.05.2016
19:12:27
да, все сложно

я с rangeBehaviour не работал особо, отлично делал два разных поля

readedBooks unreadedBooks

Dmitrii
02.05.2016
19:14:54
при всей моей любви к Relay. он скотина сложный очень :)

мой первый hello world взял у меня часов 5 наверное

Viacheslav
02.05.2016
19:16:35
меня бесит что Babel plugin обязательный

Denis
02.05.2016
19:17:11
)))

клуб ненависти Relay

Dmitrii
02.05.2016
19:17:25
ага.. но без него никак :/

Viacheslav
02.05.2016
19:17:50
мы его нежно

@dmitriiabramov почему нельзя в рантайме!

?

Dmitrii
02.05.2016
19:19:21
ну вобще можно конечно. но тогда relay будет еще сложнее :)

Viacheslav
02.05.2016
19:20:21
кроме компиляции запросов он что-то еще делает?

компиляцию можно делать в рантайме прозрачно для приложения

Denis
02.05.2016
19:21:28
Hot Relay Reload

ждём от Абрамова

Димы Абрамова :))

Ҫѐҏӗѫӑ
02.05.2016
19:22:40
Дима, а ты в какой команде в фб?

в смысле над чем работаешь? jest?

Google
Ҫѐҏӗѫӑ
02.05.2016
19:24:04
relay?

Denis
02.05.2016
19:24:35
версии в package.json поднимает

https://github.com/facebook/react-native/blob/master/package.json

Dmitrii
02.05.2016
19:26:37
с relay к сожалению почти не работаю, только на сайд проектах домашних юзал :/

Ҫѐҏӗѫӑ
02.05.2016
19:27:56
@DenisIzmaylov психанули

Denis
02.05.2016
19:28:03
жесть

jeeeсть

Dmitrii
02.05.2016
19:28:51
:D

Dan
02.05.2016
19:29:41
??

Kirill
02.05.2016
19:33:51
https://github.com/facebook/react-native/commit/bbeeaa1274b30e92b962444682864b21169b5a2e

Denis
02.05.2016
19:37:59
победил эту траблу

type: 'RANGE_ADD', parentName: 'topic', parentID: topic.id, connectionName: 'books', edgeName: 'topicBookEdge', rangeBehaviors: { 'filter(RATED)': 'append', 'filter(UNRATED)': 'remove', },

причём

ещё надо было: type: 'FIELDS_CHANGE', fieldIDs: { book: book.id, topic: topic.id, user: user.id, },

без user не работает

оно видимо циклично прогоняет связи

Viacheslav
02.05.2016
19:41:18
что-то очень странное

Denis
02.05.2016
19:41:27
ты про Relay?

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