Size: a a a

2020 June 27

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
обрати внимание что useEvent нужен для работы реакта, а getServerSideProps работает без его активного участия: нет ни хэндлеров дом элементов, ничего
источник

TG

Timofey Goncharov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
обрати внимание что useEvent нужен для работы реакта, а getServerSideProps работает без его активного участия: нет ни хэндлеров дом элементов, ничего
ну я без без useEvent вызывал свой евент. если его вынести за пределы getServerSideProps, то вроде все ок.
источник

TG

Timofey Goncharov in ☄️ effector
еще подумаю как работать с этими новыми методами next'а и эффектором. пока не понятно
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Timofey Goncharov
ну я без без useEvent вызывал свой евент. если его вынести за пределы getServerSideProps, то вроде все ок.
import {fork, serialize, allSettled} from 'effector/fork'

const app = createDomain()

const getProfile = app.createEffect()

const username = app.createStore('guest')
 .on(getProfile.doneData, (_, {username}) => username)

export async function getServerSideProps(ctx) {
 const userID = ctx.query.userid

 const scope = fork(app)

 await allSettled(getProfile, {
   scope,
   params: userID
 })

 return {initial: serialize(scope)}
}
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
фактически это обычная бэкенд-лямбда без любой специфики реакта
источник

TG

Timofey Goncharov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
import {fork, serialize, allSettled} from 'effector/fork'

const app = createDomain()

const getProfile = app.createEffect()

const username = app.createStore('guest')
 .on(getProfile.doneData, (_, {username}) => username)

export async function getServerSideProps(ctx) {
 const userID = ctx.query.userid

 const scope = fork(app)

 await allSettled(getProfile, {
   scope,
   params: userID
 })

 return {initial: serialize(scope)}
}
у меня так в данный момент
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
allSettled читается как «вызови этот эвент/эффект в контексте скоупа и дождись завершения всех вызванных этим эффектов»
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Timofey Goncharov
у меня так в данный момент
сериализация возвращает не стор
источник

TG

Timofey Goncharov in ☄️ effector
и если я втыкаю до return вызов события. вообще фигня какая-то происходит. то бесконечно страница грузиться. то просто рассинхрон.

но у меня нет пока что никакого preload
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
а данные для вызова hydrate на клиенте
источник

TG

Timofey Goncharov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
сериализация возвращает не стор
ну я так называл переменную просто. потом я этот "stor" кидаю в effector provider
источник

TG

Timofey Goncharov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
сериализация возвращает не стор
источник

TG

Timofey Goncharov in ☄️ effector
дальше так
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
оч странно
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
reproduce бы, с этого момента я не могу ничего посоветовать не имея возможности запустить код самому
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
а почему props.pageProps.store а не props.store?
источник

TG

Timofey Goncharov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
оч странно
код на скрине это _app
если браузер. тогда нужно сделать hydrate через root (root это домен основной для всех стор)
если не браузер, тогда просто fork от root и кидаем его в Provider.

а pageProps это _app некстовский. который принимает pageProps (pageProps это то что вернул getServerSideProps)
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Timofey Goncharov
код на скрине это _app
если браузер. тогда нужно сделать hydrate через root (root это домен основной для всех стор)
если не браузер, тогда просто fork от root и кидаем его в Provider.

а pageProps это _app некстовский. который принимает pageProps (pageProps это то что вернул getServerSideProps)
а в этой части доки используют без pageProps 🤔
источник

TG

Timofey Goncharov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
а в этой части доки используют без pageProps 🤔
потому что сам page. а есть еще _app это обертка над всеми страницами. вот она уже умеет принимать pageProps
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Timofey Goncharov
код на скрине это _app
если браузер. тогда нужно сделать hydrate через root (root это домен основной для всех стор)
если не браузер, тогда просто fork от root и кидаем его в Provider.

а pageProps это _app некстовский. который принимает pageProps (pageProps это то что вернул getServerSideProps)
короче нужен репродьюс, с продуктами vercel бесполезно искать логику, нужно пробовать руками
источник