API 参考 · React
@oriatheme/react
将同一个 Runtime 外部 store 接入 React 的 Provider 与 Hooks;不包含第二套状态机。包与运行环境
React 18.2 或 19 的浏览器 Provider;模块本身可 SSR 导入。
bash
pnpm add @oriatheme/presets @oriatheme/runtime-dom @oriatheme/reactbash
npm install @oriatheme/presets @oriatheme/runtime-dom @oriatheme/reactbash
yarn add @oriatheme/presets @oriatheme/runtime-dom @oriatheme/reactbash
bun add @oriatheme/presets @oriatheme/runtime-dom @oriatheme/react选择使用方项目已有的一种包管理器和 lockfile;示例只使用 package root export,不要从 src、dist 或 registry template 深层导入。
Exports
| 出口 | 签名 | 描述 |
|---|---|---|
OriaThemeProvider | ({ config, runtime?, children }: OriaThemeProviderProps) => ReactElement | 启动拥有的运行时或使用为后代提供的运行时。 |
useOriaTheme | () => { snapshot, runtime, setTheme, setAppearance } | 读取完整的不可变运行时快照和绑定操作。 |
useThemeSnapshot | <T>(selector, isEqual?) => T | 选择快照切片,同时保留相同的引用。 |
tsx
import { OriaThemeProvider, useOriaTheme } from "@oriatheme/react";
function Controls() {
const { setAppearance, setTheme } = useOriaTheme();
return <button onClick={() => setTheme("oria-ocean")}>Ocean</button>;
}重要类型与边界
OriaThemeProviderProps 接受 OriaThemeConfig 或外部 OriaThemeRuntime。Provider 只应在客户端挂载;在 Next 首屏先输出已验证的默认变量和 Bootstrap script。