loading...

# 快速开始

本篇指在于快速上手并使用上 ZodUI,如果你是第一次使用 ZodUI,我们推荐你阅读下面的内容。

# 安装

::tip

本篇基于你对前端以及 Node.js 有一定的了解,如果你并不了解,我们推荐你先去了解下 Node.js 以及 npm

# 下载

通过包管理工具下载 ZodUI。

npm
yarn
pnpm
content_copy
npm install @zodui/react
content_copy
yarn add @zodui/react
content_copy
pnpm install @zodui/react

# 安装插件

选择并安装一个你喜欢的 UI 库,比如 TDesign

npm
yarn
pnpm
content_copy
npm install tdesign-react tdesign-icons-react @zodui/components-lib-tdesign
content_copy
yarn add tdesign-react tdesign-icons-react @zodui/components-lib-tdesign
content_copy
pnpm install tdesign-react tdesign-icons-react @zodui/components-lib-tdesign

# 安装 zod

ZodUI 的依赖中并不包含 zod,这样子可以方便于你选择自己喜欢的版本。所以如果你的环境中没有安装 zod,你需要安装它。

npm
yarn
pnpm
content_copy
npm install zod
content_copy
yarn add zod
content_copy
pnpm install zod

# 引入并使用

在你的项目中引入 @zodui/react 和你选择的 UI 库。

content_copy
// 引入样式文件
import '@zodui/react/index.css'
import '@zodui/components-lib-tdesign/react.css'

// 引入组件库插件
import { TDesignComponentsLibForReact } from '@zodui/components-lib-tdesign/react'
import { Context } from '@zodui/core'
import { List } from '@zodui/react'

// 声明模型
const schema = z.object({
  foo: z.string()
})

export default function Params() {
  // 注册组件库插件,在 React 中使用这种方式进行安装,有利于插件使用过程中进行热载
  useEffect(() => {
    const e0 = Context.global.use(TDesignComponentsLibForReact)
    return () => e0()
  }, [])
  return <List
    model={schema}
    onChange={v => console.log(v)}
  />
}

完成了!现在你可以在你的项目中使用 ZodUI 了。

# 问题反馈

如果在使用过程中发现了问题或者有任何的建议,你可以尝试通过以下的几种方式进行解决:

  • 本项目开源在 GitHub 上面并进行托管,你可以按照以下的思路来解决你的问题。
    • 首先在 GitHub IssuesGitHub Discussions 中通过关键词搜索你的问题。
    • 如果不存在你想要的解决方案,你可以先在 GitHub Discussions 中选择一个合适的分类,然后和网络上的其他人一起讨论你的问题,我们也会在这里进行回复。
    • 如果你的问题是一个 Bug 并且稳定复现,又或者是一个你认为的功能缺失,你可以在 GitHub Issues 中创建一个新的 Issue,我们会在这里进行跟进。
    • 如果你觉得我们的代码存在的问题你能够解决,并且你愿意为 ZodUI 贡献代码,通过 fork 本项目并创建一个新的 Pull Request,我们会审阅你的代码,如果合适并且通过,我们会按照迭代的计划将你的代码合并到主分支中并发布。
      虽然刚刚的描述看起来有点严格,但是相信我们,我们会尽可能的让你的代码合并到主分支中,只有严格的代码审阅才能保证 ZodUI 的质量并且保护每一位使用的用户(包括你)。
      除此之外在合适的时候我们邀请你进入我们的组织,欢迎你成为 ZodUI 的一员👏。
  • 如果你的问题不适合在 GitHub 上面进行讨论,你可以通过以下的方式联系我们。
arrow_upward
comment

摘要