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

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

回答

收藏

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

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

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

6 L% U  B1 P2 }( |7 p6 w" h: c
安装0 A' g* a6 D6 M
pnpm :) W2 F7 V/ y& u& o* P. U2 \( U
  1. pnpm i @telegram-apps/solid-router-integration
复制代码
npm :
/ [5 s2 r5 }3 |- k+ T
  1. npm i @telegram-apps/solid-router-integration
复制代码
yarn :
$ J# e$ e$ R0 A
  1. yarn add @telegram-apps/solid-router-integration
复制代码
使用方法

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

下面是它的使用方法:

  1. import { Routes, Route, Navigate } from '@solidjs/router';
    ) e) u0 }/ H/ _  V
  2. import { onCleanup } from 'solid-js';" g" b7 R% e' R8 G- B
  3. import { initNavigator } from '@telegram-apps/sdk-solid';
      h, p2 z9 V" x
  4. import { createRouter } from '@telegram-apps/solid-router-integration';
    % {4 z% B4 {5 e# [8 s! C
  5. % Z+ D+ I0 r9 m  b
  6. import { IndexPage } from './IndexPage.js';& o5 B: c0 m8 e2 ^8 y/ J; O4 `3 f: `

  7. 9 Z$ n- M/ r2 f) t: ?
  8. function App() {
      o7 V  o( |3 v/ m
  9.   // We should create navigator to pass it to integration creation.6 h; Q: N5 F; }4 T' ]* b, k
  10.   const navigator = initNavigator('app-navigator-state');
    ( H8 y  D. {( H7 Q& I% I+ ~

  11. - U# i8 y& `$ T; i! {
  12.   // Then, to allow this navigator update current browser history, 6 c! J1 [. b9 s4 L' W% _: w0 t6 Y; T
  13.   // we should attach it. Otherwise, it will work in memory mode.( e$ Y1 I8 m6 `" o
  14.   void navigator.attach();
    + n- n2 g% \0 r! |- L* {7 }# G
  15.   onCleanup(() => {
      }7 M. q2 F7 r- T  Z/ O" O- Y$ m
  16.     navigator.detach();9 u6 O! J6 D, ^$ h7 |0 g. i, ^  ~! }: |
  17.   });
    5 L" ~% i* Y4 h3 P2 {0 k
  18. ) b! B5 z2 G7 X( x, t
  19.   const Router = createRouter(navigator);3 u* s' W0 z; `; M# ^
  20. 3 \) B# ^* K2 M! q% b3 z1 C
  21.   return (
    4 D- y* u5 G. g' H/ {
  22.     <Router>
    * q# t4 c& y% g+ Y) N0 e
  23.       <Routes>3 T' v$ {+ D' k+ @
  24.         <Route path={'/'} component={IndexPage}/>
    8 J2 {' n' H  N+ ^* V
  25.         <Route path={'*'} element={<Navigate href={'/'}/>}/>+ N3 d  g. `# p) r7 J
  26.       </Routes>
    2 K  X. B: S4 o
  27.     </Router>
    6 e5 C; _/ M, K1 O/ S5 k0 z
  28.   );
    % V% _# V( }$ B$ L* Q4 B  d9 O
  29. }
复制代码

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


* g  F* M- S" A4 A: b  f, v0 k9 b/ C- q( h2 W9 }3 U' h

0 d& q" U* k4 ?# C' Q* B0 T7 Y
; H. [; d( F2 `- o1 f
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则