Size: a a a

2020 September 23

MZ

Misha Zamkevich in Svelte [svelt]
Pavel 🦇 Malyshev
Без проблем
Я вообще к чему начал.
Я пытаюсь разобраться с Аполло. И вот какая проблема:

Я завожу аполло ↑ и импортирую его на страницах саппера (*да опять не в тот канал, ну чего уж там, это общий вопрос)

Апполо хранит состояния запросов. Всё кэшируется и второй раз берётся из кэша.

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

Получается он не знает о кеше соседнего роута. Если какаие-то данные закешированы — они всё равно запросятся заново.

Не понимаю как решить этот кейс.
источник

/

/dev/null in Svelte [svelt]
Стор?
источник

MZ

Misha Zamkevich in Svelte [svelt]
Апполо это и есть стор
источник

MZ

Misha Zamkevich in Svelte [svelt]
Вопрос в том, как его правильно передать
источник

/

/dev/null in Svelte [svelt]
Ну так а почему теряется инфа
источник

MZ

Misha Zamkevich in Svelte [svelt]
Потому, что на каждом роуте я делаю import from “../utils.js”
источник

/

/dev/null in Svelte [svelt]
Так падажжи, на серверной стороне нет тех сторов, которые на клиенте
источник

MZ

Misha Zamkevich in Svelte [svelt]
Состояния сохраняются внутри роута, но не передаются между.
источник

/

/dev/null in Svelte [svelt]
Услувно можно сделат синглтон
источник

/

/dev/null in Svelte [svelt]
И экспортнуть его
источник

MZ

Misha Zamkevich in Svelte [svelt]
/dev/null
Так падажжи, на серверной стороне нет тех сторов, которые на клиенте
Вот тут объясни, я тебя не понял
источник

/

/dev/null in Svelte [svelt]
const clinet =
export default client;?
источник

/

/dev/null in Svelte [svelt]
Так, во-первых, я покушаю)))
Во-вторых, возможно я не допонимаю чего, птмчт с аполло дел не имел
источник

/

/dev/null in Svelte [svelt]
В-третьих, могу не правильно понять проблему
источник

/

/dev/null in Svelte [svelt]
/dev/null
const clinet =
export default client;?
Но если я правильно понял...
источник

/

/dev/null in Svelte [svelt]
Типа инициализируешь клиента один раз, затем из любого места (роута) забираешь актуальное состояние
источник

/

/dev/null in Svelte [svelt]
Буду за пк, попробую более вразумительно ответить)
источник

/

/dev/null in Svelte [svelt]
@zamkevich, я правильно понял, что:
1. Есть клиент аполло, который работает на сервере, т.е. непосредственно с базой
2. Он инициализируется
3. Импортируется из каждого роута

И проблема в том, что не сохраняется, условно, кеш? На самом деле, не сохраняется инстанс клиента?
источник

MZ

Misha Zamkevich in Svelte [svelt]
Сохраняется, но в пределах одного роута (то есть повторный заход в роут уже не инициирует запрос к бд — усё из кэша)
источник

MZ

Misha Zamkevich in Svelte [svelt]
Ну как бы ты прав
источник