OriaTheme
GitHub

對於應用程式開發人員

React 和 Next.js

使用Provider和Hooks訂閱一個運行時;接下來將預設的 CSS 和 Bootstrap 放入第一油漆 HTML 中。

安裝一個提供者

tsx
import { OriaThemeProvider } from "@oriatheme/react";
import { oriaPresetThemes } from "@oriatheme/presets";

export function Providers({ children }: { children: React.ReactNode }) {
  return (
    <OriaThemeProvider config={{
      presets: oriaPresetThemes,
      defaultThemeId: "oria-default",
    }}>
      {children}
    </OriaThemeProvider>
  );
}

使用 Hooks 讀取快照並更改首選項

tsx
import { useOriaTheme, useThemeSnapshot } from "@oriatheme/react";

export function ThemeControls() {
  const { setAppearance, setTheme } = useOriaTheme();
  const activeId = useThemeSnapshot((snapshot) => snapshot.preference.activeThemeId);

  return <button onClick={() => setTheme(activeId === "oria-ocean" ? "oria-default" : "oria-ocean")}>
    Switch theme
  </button>;
}

useThemeSnapshot 用於訂閱穩定的切片;不要重新建立運行時或在元件內複製其狀態。

Next.js:第一個繪製和按需編輯器

在伺服器元件頭中輸出可信任預設 CSS 和 Bootstrap 腳本,然後將提供者放置在用戶端元件中。使用dynamic(..., { ssr: false }) 載入關閉的本地ThemeEditor 並僅在使用者開啟它後渲染它。

繼續:Vue 集成