@formisch/react-native

中文文档
1.2.0发布于 2026/11/01MITTypeScriptES Module零依赖构建来源已验证近 30 天下载 3181

轻量级、先行型和完全类型安全的形式库

中文使用文档
文档目录7 节
  1. 要点
  2. 示例
  3. 比较
  4. 愿景
  5. 合作伙伴
  6. 反馈
  7. 许可证

Formisch 反应原生

Formisch是Resact Introduct的一个基于计划的无头形式库. 它管理形态状态和验证. 它的型号安全,默认速度快,而由于其模块化设计,它的捆绑尺寸也很小. 试试看 游乐场来啊!

福尔米施也可供 角质, (中文(简体) ), 霍诺克, (中文(简体) ), 预录, (中文(简体) ), 齐克, (中文(简体) ), 反应, (中文(简体) ), 固态JS, (中文(简体) ), 丝绒 财务报告和审定财务报表 阴道。 。 。 .

要点

  • 从2.5 kB开始的小捆绑大小
  • 与 Valibot 基于 Schema 的验证
  • 编辑器中自动补全的安全性
  • 开放源码和全面测试,覆盖率为100%
  • 速度快 —— 只有在必要的情况下才能重新投降
  • 最小、可读和深思熟虑的API
  • 支持本土 TextInput 字段

示例

每个表格都从 useForm 钩. 它根据所提供的 Valibot 计划 初始化了你的表型商店 并推断出它的类型 与 DOM 框架不同, React Industrial 没有本地形式元素或提交事件, 所以没有 <Form /> 直接启动组件和提交 handleSubmit,例如从按钮的 onPress 或文本输入的 onSubmitEditing 处理者。 您可以访问一个字段的状态 useField 钩子或 <Field /> 要连接到您的组件 TextInput。 。 。 .

import { Field, handleSubmit, useForm } from '@formisch/react-native';
import { Button, Text, TextInput, View } from 'react-native';
import * as v from 'valibot';

const LoginSchema = v.object({
  email: v.pipe(v.string(), v.email()),
  password: v.pipe(v.string(), v.minLength(8)),
});

export default function LoginScreen() {
  const loginForm = useForm({
    schema: LoginSchema,
  });

  const submitForm = handleSubmit(loginForm, (output) => console.log(output));

  return (
    <View>
      <Field of={loginForm} path={['email']}>
        {(field) => (
          <View>
            <TextInput
              {...field.props}
              value={field.input}
              autoCapitalize="none"
              keyboardType="email-address"
            />
            {field.errors && <Text>{field.errors[0]}</Text>}
          </View>
        )}
      </Field>
      <Field of={loginForm} path={['password']}>
        {(field) => (
          <View>
            <TextInput {...field.props} value={field.input} secureTextEntry />
            {field.errors && <Text>{field.errors[0]}</Text>}
          </View>
        )}
      </Field>
      <Button title="Login" onPress={submitForm} />
    </View>
  );
}

此外,Formisch还提供了几种功能(我们称之为"方法"),可用于读取和操纵形式状态. 其中包括: focus, (中文(简体) ), getDeepErrorEntries, (中文(简体) ), getDeepErrors, (中文(简体) ), getDirtyInput, (中文(简体) ), getDirtyPaths, (中文(简体) ), getErrors, (中文(简体) ), getInput, (中文(简体) ), handleSubmit, (中文(简体) ), insert, (中文(简体) ), isDirty, (中文(简体) ), isEdited, (中文(简体) ), isTouched, (中文(简体) ), isValid, (中文(简体) ), move, (中文(简体) ), pickDirty, (中文(简体) ), remove, (中文(简体) ), replace, (中文(简体) ), reset, (中文(简体) ), setErrors, (中文(简体) ), setInput, (中文(简体) ), swap 财务报告和审定财务报表 validate。这些方法允许您在程序上控制表格.

比较

使得福米斯奇独有的是其框架-不可知性核心,它与你所使用的框架完全本土. 它通过在核心软件包构建时插入框架特定的反应块来工作,为任何UI更新赋予你本土性能. 模块化方法 API 仅通过包含您导入的方法来保持从 ~2.5 kB 开始的捆绑,端到端类型安全覆盖了深层嵌入路径和字段阵列,其TypeScript 推论即使在形式增长时也保持了快.

对于一个侧面查看 Formisch 如何比对反应钩形和TanStack形,参见 比较指南。 。 。 .

愿景

我对Formisch的愿景是建立一个框架不可知的平台,类似于 维特但是对于形式来说——一个共享的核心,让同样的精神模型和代码基础在本土工作,跨越每一个现代UI框架.

合作伙伴

感谢我们的伙伴们支持发展! 加入他们 并促进开源软件的可持续性!

Partners of Formisch

反馈

找到一个错误或有一个想法 如何改进库? 请填写一个 问题我们一起可以让表格变得更好!

许可证

这个项目是免费提供的,并获得许可证 麻省理工学院许可证。 。 。 .

版本与发布记录

@formisch/react-native 共发布 5 个版本,首次发布于 2026/07/30;过去 12 个月发布了 5 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.2.0latest2026/11/0114 天前
1.1.12026/10/2620 天前
1.1.02026/09/082 个月前
1.0.02026/08/202 个月前
0.1.02026/07/303 个月前

关于 @formisch/react-native 的常见问题

@formisch/react-native 是什么?

轻量级、先行型和完全类型安全的形式库

如何安装 @formisch/react-native?

在项目目录运行 npm install @formisch/react-native,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(>=18 <20)、valibot(>=1.4.1 <2)、react-native(>=0.73 <1)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@formisch/react-native 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@formisch/react-native 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@formisch/react-native 可以商用吗?

@formisch/react-native 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@formisch/react-native 的下载量有多少?

根据 npm 官方下载统计,@formisch/react-native 在 2026/10/16 – 2026/11/14 这 30 天内被下载 3,181 次,日均约 106 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@formisch/react-native 还在维护吗?

最新版本 1.2.0 发布于 2026/11/01(14 天前);至今共发布 5 个版本,其中过去 12 个月发布了 5 个;首次发布于 2026/07/30。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。