You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Yup升级至1.3.2版本后如何正确使用ObjectShape?

Yup 1.3.2 中正确使用 ObjectShape 类型的方案

1. 修正导入路径

在 Yup 1.x 版本中,ObjectShape 类型不再从内部的 yup/lib/object 路径导出,而是直接从根包导出。替换原导入语句:

// 旧版本失效写法
import { ObjectShape } from 'yup/lib/object';

// 新版本正确写法
import { ObjectShape } from 'yup';

2. 类型定义与使用兼容方案

你原有的类型交叉定义可以直接保留:

type Parameter = ObjectShape & DictionaryLine;

基于该类型创建对象 Schema 时,原有的 Yup.object<Parameter>() 写法依然有效,但新版本更推荐结合 .shape() 方法明确结构(支持显式指定泛型或依赖类型推断):

import { object } from 'yup';

// 显式指定泛型的写法
const mySchema = object<Parameter>().shape({
  // 填入符合 Parameter 类型的字段校验规则
});

// 依赖类型推断的简洁写法
const mySchema = object().shape<Parameter>({
  // 字段校验规则
});

注意事项

确保自定义的 DictionaryLine 类型与 ObjectShape 结构兼容——即键为字符串类型,值为 Yup Schema 或 Lazy 类型,避免出现类型冲突。

内容的提问来源于stack exchange,提问作者omurozbek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 19:54:55