daangn / stackflow

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

질문: historySyncPlugin 사용시 최하위 activity 추가하는 방법 #468

Closed piggmme closed 3 months ago

piggmme commented 3 months ago

제 환경에서 historySyncPlugin 를 사용하고 있는데, HomePage가 아닌 경로로 처음에 접근하는 경우 HomePage를 먼저 activities에 추가하고 후에 접근한 경로의 activity를 추가하고 싶습니다.

제 코드는 아래와 같습니다.

export const { Stack, useFlow, useStepFlow } = stackflow({
  transitionDuration: 350,
  plugins: [
    basicRendererPlugin(),
    basicUIPlugin({
      theme: 'cupertino',
    }),
    historySyncPlugin({
      routes: {
        HomePage: '/',
        LoginPage: '/login',
        NotFoundPage: '/404',
        OauthPage: '/oauth',
        MyPage: '/mypage',
        PartyDetailPage: '/party/:id',
      },
      fallbackActivity: () => 'NotFoundPage',
      useHash: false,
    }),
  ],
  activities: {
    HomePage,
    LoginPage,
    OauthPage,
    NotFoundPage,
    MyPage,
    PartyDetailPage,
  },
  initialActivity: () => 'HomePage',
})

예를 들자면 HomePage 가 아닌 LoginPage페이지로 처음에 접근하였을 때 acitivities의 가장 하위에 HomePage 가 먼저 깔린채 LoginPage 를 추가하고 싶습니다.

activities = [
    {
        "id": "61a49e257e1eb",
        "name": "HomePage", // ✅ 기본 액티비티
        // ...
    },
    {
        "id": "61a49e2847410",
        "name": "PartyDetailPage",  // ⭐️ 첫 진입점
        // ..
    }
]

이렇게 기본 activity를 추가하고 싶으면 어떻게 플러그인을 수정해야 할지 도와주시면 정말 감사하겠습니다!