Skip to content

Commit

Permalink
发布文档
Browse files Browse the repository at this point in the history
  • Loading branch information
luoanb committed Mar 31, 2024
1 parent e53a0e1 commit 8cd563a
Show file tree
Hide file tree
Showing 37 changed files with 829 additions and 206 deletions.
28 changes: 28 additions & 0 deletions .assis/%2FREADME.md.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
{
"messages": [
{
"role": "user",
"content": "```\n- **Next 后续版本计划**\r\n\r\n 1. **文档优化**: 后续会提高文档触达性,包括对各个 API 的使用示例, 还有各个组件库在使用过程中的一些细节处理\r\n 2. **稳定性优化**: 优化一些组件库的稳定性, 优化一些组件库的体验\r\n 3. **移动端/小程序组件库支持**: `hook-form-react`模块化且足够轻量(`10k左右`),可满足在小程序中使用, 后续会考虑`Taro`小程序组件库的适配.\r\n 4. **完善开发文档**: 基于可拔插的设计原则, `hook-form-react` 在新增第三方组件库适配、新增自定义验证都是一件简单的事情, 后续将会持续完善开发文档, 以帮助开发者基于项目需求定制的使用`hook-form-react`.\r\n\r\n- **v2.3.0**\r\n 1. **MUI 组件**:完成`MUI`组件库适配, 使用请看 [示例](https://stackblitz.com/~/github.com/luoanb/hook-form-react-example) \n```\n 这里有一段markdown文本,请把内容翻译为英语(直接返回结果,不要进行其他的解析和解释)"
},
{
"role": "assistant",
"content": "- **Next Version Plan**\n\n 1. **Documentation Optimization**: We will improve the accessibility of the documentation, including usage examples for each API, as well as handling details during the use of various component libraries.\n 2. **Stability Optimization**: Optimize the stability and experience of some component libraries.\n 3. **Support for Mobile/Mini Program Component Libraries**: `hook-form-react` is modular and lightweight (around 10k), suitable for use in mini programs. We will consider adapting to the `Taro` mini program component library in the future.\n 4. **Improving Development Documentation**: Based on the pluggable design principle, it is simple to add adaptations for third-party component libraries and custom validations in `hook-form-react`. We will continue to improve the development documentation to help developers customize the use of `hook-form-react` based on project needs.\n\n- **v2.3.0**\n 1. **MUI Components**: Completed the adaptation of the `MUI` component library. Please see the [example](https://stackblitz.com/~/github.com/luoanb/hook-form-react-example) for usage.",
"source": {
"id": "as-svxeeu6zed",
"object": "chat.completion",
"created": 1711894325,
"sentence_id": 9,
"is_end": true,
"is_truncated": false,
"result": ") for usage.",
"need_clear_history": false,
"finish_reason": "normal",
"usage": {
"prompt_tokens": 278,
"completion_tokens": 262,
"total_tokens": 540
}
}
}
]
}
11 changes: 11 additions & 0 deletions .assis/.qfconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"token": {
"refresh_token": "25.10f22ae6f8a309b35917ad3ade76eb48.315360000.2027254307.282335-58277340",
"expires_in": 2592000,
"session_key": "9mzdXUcHR6RIa2JcXHu65B58bz2o6kboWc8vcWpOXnUg0UppQ5mvzwmXQDeXW5FeRkRwmDLHRmKYOuO/837KKMz2E3KABQ==",
"access_token": "24.f3bd994bc0e53f006f2f7bd04ea5307e.2592000.1714486307.282335-58277340",
"scope": "ai_custom_yiyan_com_bce_reranker_base ai_custom_yiyan_com_prmtv ai_custom_yiyan_com_eb_pro_prmtv ai_custom_yiyan_com_fuyu_8b public brain_all_scope wenxinworkshop_mgr ai_custom_yiyan_com ai_custom_yiyan_com_eb_instant ai_custom_yiyan_com_bloomz7b1 ai_custom_yiyan_com_emb_text ai_custom_yiyan_com_llama2_7b ai_custom_yiyan_com_llama2_13b ai_custom_yiyan_com_llama2_70b ai_custom_yiyan_com_chatglm2_6b_32k ai_custom_yiyan_com_aquilachat_7b ai_custom_yiyan_com_emb_bge_large_zh ai_custom_yiyan_com_emb_bge_large_en ai_custom_yiyan_com_qianfan_chinese_llama_2_7b ai_custom_qianfan_bloomz_7b_compressed ai_custom_yiyan_com_eb_pro ai_custom_yiyan_com_sd_xl ai_custom_yiyan_com_8k ai_custom_yiyan_com_tokenizer_eb ai_custom_yiyan_com_ai_apaas ai_custom_yiyan_com_qf_chinese_llama_2_13b ai_custom_yiyan_com_sqlcoder_7b ai_custom_yiyan_com_codellama_7b_ins ai_custom_yiyan_com_xuanyuan_70b_chat ai_custom_yiyan_com_yi_34b ai_custom_yiyan_com_chatlaw ai_custom_yiyan_com_emb_tao_8k ai_custom_yiyan_com_eb_turbo_pro ai_custom_yiyan_com_mixtral_8x7b ai_custom_yiyan_com_eb_turbo_pro_128k ai_custom_yiyan_com_ernie_35_4k_0205 ai_custom_yiyan_com_ernie_35_8k_0205 ai_custom_yiyan_com_ernie_35_8k_1222 ai_custom_yiyan_com_ernie_lite_8k ai_custom_yiyan_com_gemma_7b_it ai_custom_yiyan_com_ernie_tiny_8k wise_adapt lebo_resource_base lightservice_public hetu_basic lightcms_map_poi kaidian_kaidian ApsMisTest_Test权限 vis-classify_flower lpq_开放 cop_helloScope ApsMis_fangdi_permission smartapp_snsapi_base smartapp_mapp_dev_manage iop_autocar oauth_tp_app smartapp_smart_game_openapi oauth_sessionkey smartapp_swanid_verify smartapp_opensource_openapi smartapp_opensource_recapi fake_face_detect_开放Scope vis-ocr_虚拟人物助理 idl-video_虚拟人物助理 smartapp_component smartapp_search_plugin avatar_video_test b2b_tp_openapi b2b_tp_openapi_online smartapp_gov_aladin_to_xcx",
"session_secret": "652319480512d941884ac302233cc93b",
"validityDate": 1714486307542
}
}
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# hook-form-react

## 2.3.0

### Minor Changes

- 适配 MUI

## 2.2.1

### Patch Changes
Expand Down
11 changes: 10 additions & 1 deletion README.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,16 @@ Developed using React Hooks and TypeScript, it aims to provide a simple, efficie

- **Future Plans for Next Versions**

1. **MUI UI**: These components do not come with form validation, generally used with react-hook-form (which does not provide a good experience), so there will be adaptations in the future. However, as this component library is not currently used by our company, the priority is not high.
- **Next Version Plan**

1. **Documentation Optimization**: We will improve the accessibility of the documentation, including usage examples for each API, as well as handling details during the use of various component libraries.
2. **Stability Optimization**: Optimize the stability and experience of some component libraries.
3. **Support for Mobile/Mini Program Component Libraries**: `hook-form-react` is modular and lightweight (around 10k), suitable for use in mini programs. We will consider adapting to the `Taro` mini program component library in the future.
4. **Improving Development Documentation**: Based on the pluggable design principle, it is simple to add adaptations for third-party component libraries and custom validations in `hook-form-react`. We will continue to improve the development documentation to help developers customize the use of `hook-form-react` based on project needs.

- **v2.3.0**

1. **MUI Components**: Completed the adaptation of the `MUI` component library. Please see the [example](https://stackblitz.com/~/github.com/luoanb/hook-form-react-example) for usage.

- **v2.2.0**

Expand Down
105 changes: 54 additions & 51 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,55 +17,6 @@ This library is a lightweight, dependency-free solution for form validation and
- **文档支持**:使用 TypeDoc 生成详尽的文档,帮助开发者更好地理解和使用库中的功能。
- **灵活的打包支持**:使用 Rollup 进行打包,支持 UMD、CommonJS 和 ES 模块格式,以适配不同的使用场景和环境。

## 版本说明

- **Next 后续版本计划**

1. **MUI 组件**: 组件未自带表单验证,一般使用 react-hook-form(体验并不好),所以后续会进行适配,但由于当前企业并未使用该套组件库,所以优先级并不高

- **v2.2.0**

1. **Antd 组件**:表单组件已经适配完成,(截止到当前版本,我们已经适配完` Next UI``Antd `两个组件库), `import { Antd_5 } from 'hook-form-react/Antd_5'`,对于`antd`的适配的所有内容都包含在这里,和核心库隔离。使用示例请参考 [示例:Stackblitz](https://stackblitz.com/~/github.com/luoanb/)

- **v2.1.0**

1. 修复立即赋值,立即验证时,获取不到最新的表单数据的问题(React.useState 异步执行导致的 bug),
新增两个方法:`doValidateImme` `doAllValidateImme`,当发现使用`doValidate`,`doAllValidate`存在问题时,相应替换一下对应的方法,原则上推荐优先使用`doValidate`,`doAllValidate`

- **v2.0.2**

1. 自定义校验规则,`execute?: (value: V, content: any) => Promise<boolean>` ,添加`content`参数用于获取表单上下文数据

- **v2.0.0**

1. 新增对象嵌套型表单的支持,具体可查看[Stackblitz](https://stackblitz.com/~/github.com/luoanb/hook-form-react-example)
2. 添加 Stackblitz 示例项目(需要科学上网)

- **v1.0.0**

1. 重构了验证规则实现类,使用会更友好,同时新增几个常用验证规则 [所有的常用验证规则](https://luoanb.github.io/hook-form-react/classes/Verifications.html)。验证规则并未完全经过测试,有问题欢迎@我。
2. **NextUI 组件**:目前所有表单已经适配完成 [所有已适配组件](https://luoanb.github.io/hook-form-react/classes/NextUI_2_2.html) (如有遗漏后续会补上,@手动 dog,嘿嘿)
3. 修复类型声明不准确问题。
4. 添加测试项目,用于验证功能

- **v0.5.x (底层实现预览)**

1. 底层框架已实现,使用体验顺畅,可直接[往下看高级用法]()
2. 整体拓展性良好,组件库相关代码和表单核心代码是完全隔离的,这为今后支持不同的组件库打下基础。
3. 表单数据状态,表单异常状态完全可控,可以根据业务定制逻辑。
4. 验证规则也是统一实现,拓展和自定义都很方便。
5. 零依赖项,纯 hooks。

## 组件库支持情况

- 【90 分】 NextUI 体验良好,且有问题会及时修复(自己也在用)

- 【60 分】 MUI 在 MUI 自己不支持表单验证的前提下,使用 hook-form-react 也是不会错的,至少相对于 react-hook-form,它没有一堆复杂的概念不是吗。

- 【50 分】 Antd 组件自有表单使用体验不错的,优选选自有表单吧,(后续适配主要考虑双组件库情况)。

- 【50 分】 ......

## 安装

```shell
Expand Down Expand Up @@ -222,7 +173,7 @@ export const Example = () => {

### 嵌套对象表单

新增一个 hook `useSubFormData`用于处理嵌套表单,原则上可以处理任意层数的对象嵌套(也就是无线套娃)。
新增一个 hook `useSubFormData`用于处理嵌套表单,原则上可以处理任意层数的对象嵌套(也就是无限套娃)。

```ts
// useSubFormData
Expand Down Expand Up @@ -255,7 +206,59 @@ const reset = () => {
}
```

### [完整示例](./example.md)
## 版本说明

- **Next 后续版本计划**

1. **文档优化**: 后续会提高文档触达性,包括对各个 API 的使用示例, 还有各个组件库在使用过程中的一些细节处理
2. **稳定性优化**: 优化一些组件库的稳定性, 优化一些组件库的体验
3. **移动端/小程序组件库支持**: `hook-form-react`模块化且足够轻量(`10k左右`),可满足在小程序中使用, 后续会考虑`Taro`小程序组件库的适配.
4. **完善开发文档**: 基于可拔插的设计原则, `hook-form-react` 在新增第三方组件库适配、新增自定义验证都是一件简单的事情, 后续将会持续完善开发文档, 以帮助开发者基于项目需求定制的使用`hook-form-react`.

- **v2.3.0**
1. **MUI 组件**:完成`MUI`组件库适配, 使用请看 [示例](https://stackblitz.com/~/github.com/luoanb/hook-form-react-example)
- **v2.2.0**

1. **Antd 组件**:表单组件已经适配完成,(截止到当前版本,我们已经适配完` Next UI``Antd `两个组件库), `import { Antd_5 } from 'hook-form-react/Antd_5'`,对于`antd`的适配的所有内容都包含在这里,和核心库隔离。使用示例请参考 [示例:Stackblitz](https://stackblitz.com/~/github.com/luoanb/)

- **v2.1.0**

1. 修复立即赋值,立即验证时,获取不到最新的表单数据的问题(React.useState 异步执行导致的 bug),
新增两个方法:`doValidateImme` `doAllValidateImme`,当发现使用`doValidate`,`doAllValidate`存在问题时,相应替换一下对应的方法,原则上推荐优先使用`doValidate`,`doAllValidate`

- **v2.0.2**

1. 自定义校验规则,`execute?: (value: V, content: any) => Promise<boolean>` ,添加`content`参数用于获取表单上下文数据

- **v2.0.0**

1. 新增对象嵌套型表单的支持,具体可查看[Stackblitz](https://stackblitz.com/~/github.com/luoanb/hook-form-react-example)
2. 添加 Stackblitz 示例项目(需要科学上网)

- **v1.0.0**

1. 重构了验证规则实现类,使用会更友好,同时新增几个常用验证规则 [所有的常用验证规则](https://luoanb.github.io/hook-form-react/classes/Verifications.html)。验证规则并未完全经过测试,有问题欢迎@我。
2. **NextUI 组件**:目前所有表单已经适配完成 [所有已适配组件](https://luoanb.github.io/hook-form-react/classes/NextUI_2_2.html) (如有遗漏后续会补上,@手动 dog,嘿嘿)
3. 修复类型声明不准确问题。
4. 添加测试项目,用于验证功能

- **v0.5.x (底层实现预览)**

1. 底层框架已实现,使用体验顺畅,可直接[往下看高级用法]()
2. 整体拓展性良好,组件库相关代码和表单核心代码是完全隔离的,这为今后支持不同的组件库打下基础。
3. 表单数据状态,表单异常状态完全可控,可以根据业务定制逻辑。
4. 验证规则也是统一实现,拓展和自定义都很方便。
5. 零依赖项,纯 hooks。

## 组件库支持情况

- 【90 分】 NextUI 体验良好,且有问题会及时修复(自己也在用)

- 【60 分】 MUI 在 MUI 自己不支持表单验证的前提下,使用 hook-form-react 也是不会错的,至少相对于 react-hook-form,它没有一堆复杂的概念不是吗。

- 【50 分】 Antd 组件自有表单使用体验不错的,优选选自有表单吧,(后续适配主要考虑双组件库情况)。

- 【50 分】 ......

## API 参考

Expand Down
2 changes: 1 addition & 1 deletion docs/assets/navigation.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 8cd563a

Please sign in to comment.