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

React Typescript中Props接口能否为属性设置取值范围与初始化默认值?

错误原因

你原来的写法存在两个语法问题:

  • TS 的 interface 仅做类型声明,不能直接在内部给属性设置默认值,默认值属于运行时逻辑,需要在实际使用变量的位置定义
  • 要限制字符串的取值范围,不需要额外加 string 类型声明,直接使用字符串字面量联合类型即可,加了string会让类型放宽到任意字符串,失去限制效果

正确实现方式

1. 修正类型定义

直接把finco的类型指定为'TAF' | 'ACC'的联合类型:

interface Props {
  finco?: 'TAF' | 'ACC'
}

这时候如果你给finco赋值这两个字符串之外的值,TS 会直接抛出类型错误。

2. 额外添加默认值(如果需要)

如果需要默认值为TAF,在实际使用该类型的位置设置即可,举两个常见场景的例子:

  • 普通函数参数场景:
function handleProps(props: Props) {
  const { finco = 'TAF' } = props
  // 后续逻辑
}
  • React 组件场景:
const DemoComponent = ({ finco = 'TAF' }: Props) => {
  return <div>{finco}</div>
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 21:15:00