daangn / stackflow

🧱 Mobile-first stack navigator framework with composable plugin system
https://stackflow.so
MIT License
704 stars 74 forks source link

SSR 환경에서 새로고침시 액티비티 상태 유지 #457

Closed 8dong closed 4 months ago

8dong commented 4 months ago

안녕하세요! 스택 라이브러리 사용중에 질문이 있어서 이슈 남기게 되었습니다!

현재 프로젝트에서는 next 14.1.0, react ^18를 사용중이며, history-sync-plugin으로 히스토리 동기화하고 있습니다.

SSR 환경에서도 새로고침하더라도 기존에 쌓인 액티비티들을 그대로 들고 있도록 구현하고 싶어서 #403 이슈의 1번 방법을 사용하려고 합니다. 혹시 1번 방법에서 history context란 어떤 것이며 어떻게 교체해야하는지 알 수 있을까요?!

tonyfromundefined commented 4 months ago

안녕하세요 @8dong 님! 기존에 쌓인 액티비티를 유지하려면, 해당 정보를 원하시는 저장소에 저장한 뒤 (Cookie, localStorage, historys.state 등) 플러그인의 overrideInitialEvents API를 활용해서 다시 살리실 수 있습니다.

https://github.com/daangn/stackflow/blob/main/core/src/interfaces/StackflowPlugin.ts#L107-L110

말씀하신 상황은 SSR 상황을 가정하고 있으므로, Cookie를 활용하시는 방법이 유일해보입니다.


해당 요구사항은 저희가 당장 지원해드리기가 어렵습니다. 만약 원하신다면 @stackflow/plugin-history-sync를 코드 내부로 복사해가셔서, 이를 수정하시는식으로 접근하시는 것을 추천드립니다. 감사합니다.