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

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

回答

收藏

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

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

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

- u" H9 P; |# t* q, c/ S
安装+ ]/ d; X' v) B! s) b
pnpm :
+ r: s; [* H: C
  1. pnpm i @telegram-apps/solid-router-integration
复制代码
npm :
8 _9 y: l4 U9 C5 O5 `% H
  1. npm i @telegram-apps/solid-router-integration
复制代码
yarn :7 w; J8 X. D" b# X+ l
  1. yarn add @telegram-apps/solid-router-integration
复制代码
使用方法

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

下面是它的使用方法:

  1. import { Routes, Route, Navigate } from '@solidjs/router';; E8 y' ~2 g) |8 b* C& n" x
  2. import { onCleanup } from 'solid-js';1 T5 x" j; z! o* u5 Y- L+ c. u
  3. import { initNavigator } from '@telegram-apps/sdk-solid';
    / E8 }, ]* ^! J, r
  4. import { createRouter } from '@telegram-apps/solid-router-integration';
    4 m& Q% x* l+ z% n, c& O3 \" T
  5. * Q6 _; n) l% c6 Z( l. p/ ?
  6. import { IndexPage } from './IndexPage.js';1 l4 W0 L  H# X  L" {. L
  7. , K! P; g& C  b9 C* H
  8. function App() {* H/ R- M6 m/ p, |0 K- x. P$ s) g
  9.   // We should create navigator to pass it to integration creation.
    ; Z! t) U6 N4 |2 _  Z" q5 N; g
  10.   const navigator = initNavigator('app-navigator-state');1 Q- i, k  r' C- y- B

  11. # ]! a5 @3 S5 D) k' p4 [; a1 w9 v2 T
  12.   // Then, to allow this navigator update current browser history,
    , e& W# U; X7 k8 K& A
  13.   // we should attach it. Otherwise, it will work in memory mode.. Q% a' y+ b% K- B) k( q7 U
  14.   void navigator.attach();
    0 i: w, C2 H7 j
  15.   onCleanup(() => {
    : l# I$ u6 Y7 y& a4 g* y& `& ^6 h
  16.     navigator.detach();
      E7 E" A6 b& |0 q( E+ ?
  17.   });
    ) q. ?( m+ m! q+ c

  18. ) M9 A: H( f5 N: ~3 f
  19.   const Router = createRouter(navigator);6 a- r0 Y: ~! Y$ F
  20. ) z  y! H0 Y4 H& l$ X
  21.   return (0 U: N  N1 u9 S& q! D0 J/ g5 z
  22.     <Router>$ T0 u* i8 F: q5 Y* D" i$ m' |2 S
  23.       <Routes>
    8 b. n$ l4 K1 `3 f! ~
  24.         <Route path={'/'} component={IndexPage}/>
    ; w) f5 j. f$ {# ^0 }9 w8 Q
  25.         <Route path={'*'} element={<Navigate href={'/'}/>}/>
    1 S5 e9 U- a2 S2 Q- F' s
  26.       </Routes>
    8 w9 G3 @" T: n$ o9 t2 P
  27.     </Router># Z! w0 B3 v- h7 N& N4 N2 ?
  28.   );: J; J$ B0 P3 f% Y  r
  29. }
复制代码

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


( X4 k) t$ f  Q/ J5 w5 ?( D$ E) q* k3 n8 Z

, e* ~6 ]: `6 G: C* i) |
- _$ u3 f7 Q  p' Z) v
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则