English 简体中文 繁體中文 한국 사람 日本語 Deutsch русский بالعربية TÜRKÇE português คนไทย french

简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE คนไทย Français русский

回答

收藏

Telegram 小程序 | TypeScript @telegram-apps/solid-router-integration

开源社区 开源社区 9898 人阅读 | 0 人回复 | 2025-02-25

Telegram Mini Apps Navigator@solidjs/router 的集成 。

& @6 ^# T# K* x4 R
安装% K: g9 i" u' M% V& Y( A
pnpm :
. T7 w# W* y- Z" L; K6 @: z
  1. pnpm i @telegram-apps/solid-router-integration
复制代码
npm :
( s8 d7 V+ h" w, K  j( a' b. V4 G! W
  1. npm i @telegram-apps/solid-router-integration
复制代码
yarn :
/ u5 N6 X$ x& e# y# m; @  y3 d
  1. yarn add @telegram-apps/solid-router-integration
复制代码
使用方法

目前,该软件包只提供了一个函数,用于创建 @solidjs/router 路由器的集成 - createRouter。

下面是它的使用方法:

  1. import { Routes, Route, Navigate } from '@solidjs/router';/ Z, }: ?( k9 j! |: ], H
  2. import { onCleanup } from 'solid-js';
    + {5 H% K/ i6 O; d$ r0 B
  3. import { initNavigator } from '@telegram-apps/sdk-solid';7 a2 J) B: e, _
  4. import { createRouter } from '@telegram-apps/solid-router-integration';
    ) I) n% }5 Y( O
  5. - W! {2 i% N$ A1 I: |2 y6 S1 P
  6. import { IndexPage } from './IndexPage.js';" t. ]- e: E; ]. L# K& @- Q

  7. 9 Y! r' t& l; _# n: d2 S9 e2 {
  8. function App() {, J6 a, v: n1 A& `. g) t1 r
  9.   // We should create navigator to pass it to integration creation.( u( g9 t) |  @* N- U9 h: n
  10.   const navigator = initNavigator('app-navigator-state');: \. G  ]& _# D

  11. 5 x  ]* z$ J$ w
  12.   // Then, to allow this navigator update current browser history,
    / ~1 m# u1 D0 X, |$ ?' M7 ?& N
  13.   // we should attach it. Otherwise, it will work in memory mode.
    . M. `" z2 n; P/ D( q6 [) f9 L
  14.   void navigator.attach();
    # q( M9 P& w7 q0 w# z/ ]2 ]- N
  15.   onCleanup(() => {1 k$ ^+ a# G( z* A+ ~
  16.     navigator.detach();, S. N" }0 N) O' }+ V6 j# J" L
  17.   });
    : r0 N7 j8 Q3 n( `& M! i2 k
  18. 4 n" Y0 k. Y  f- ?$ K+ E
  19.   const Router = createRouter(navigator);9 i% F% }& ?' q$ g# v! L

  20. $ J+ v/ n& R9 @! j, {6 B: x
  21.   return (
      R: ]; V/ V5 a4 C: Z8 i
  22.     <Router>
    ' u4 {6 J) I7 i8 L" v
  23.       <Routes>
    ! n6 \( m  L- x% [: K, P4 S
  24.         <Route path={'/'} component={IndexPage}/>! i6 z, P$ Y2 l# j  Y
  25.         <Route path={'*'} element={<Navigate href={'/'}/>}/>
    + ~' Y9 T5 Y; y. q
  26.       </Routes>5 \. a) A1 C& B% [+ ?
  27.     </Router>( r1 _7 @) \* g+ Y; H
  28.   );
    / H, m$ y% ]* u
  29. }
复制代码

您可以通过 我们的 Solid 模板 了解更多有关如何使用它的实际应用。

% ~0 P8 m" d: ^$ {3 H1 ]
5 @4 F( m: z* ]: L$ w

- x6 @3 S: t1 N8 O8 K# A- Y
% m/ b( E3 M8 V4 R8 U
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则