Reactjs 如何在通过另一个道具的基础上使道具成为强制道具

Reactjs 如何在通过另一个道具的基础上使道具成为强制道具,reactjs,typescript,Reactjs,Typescript,我有一些表单代码: interface FormProps { regexPreset?: RegexPresets; customRegex?: RegExp; description?: string; inputTitle: string; errorMessage?: string; } const Form:React.FC=props=>{ 归还一些东西 } 如果我传入一个customRegex,我希望编译器在errorMessage未通过时抛出一个错误(将

我有一些表单代码:

interface FormProps {
  regexPreset?: RegexPresets;
  customRegex?: RegExp;
  description?: string;
  inputTitle: string;
  errorMessage?: string;
}
const Form:React.FC=props=>{
归还一些东西
} 
如果我传入一个
customRegex
,我希望编译器
errorMessage
未通过时抛出一个错误(将
errorMessage
设为强制属性)

最接近我的是,但我不确定是否可以将其应用到我的用例中


任何指点都会被欣然接受

我认为利用你在文章中提到的内容是可行的,但在进入高级打字之前,我想评估一下最简单的解决方案是否足够。因此–如果要包含
customRegex
,则必须同时包含
errorMessage
–那么此类型应涵盖您的用例:

接口FormProps{
regexPreset?:RegexPresets;
description?:字符串;
inputTitle:字符串;
customRegexProps?:{
customRegex:RegExp;
错误消息:字符串;
}
}

我认为利用你在文章中提到的内容是可行的,但在进入高级打字之前,我想评估一下最简单的解决方案是否足够。因此–如果要包含
customRegex
,则必须同时包含
errorMessage
–那么此类型应涵盖您的用例:

接口FormProps{
regexPreset?:RegexPresets;
description?:字符串;
inputTitle:字符串;
customRegexProps?:{
customRegex:RegExp;
错误消息:字符串;
}
}

将其一分为二并使用联轴节->
A |(A&B)
您能详细说明一下吗?我错了-如果B不完整,它会退回到A,因此
A |(A&B)
A
将其一分为二并使用联轴节->
A |(A&B)
你能详细说明一下吗?sry我错了-如果b不完整,它会退回到a,因此
a |(a&b)
a
相同,所以我确实考虑过这种方法,但是,
错误消息
需要作为一个单独的道具,因为我希望能够在没有自定义正则表达式的情况下传递
错误消息。也许你会发现这个解决方案:更适合你的形式?基本上将自定义RegExp表单和默认表单定义为单独的实体。因此我确实考虑过这种方法,但是,
errorMessage
需要作为单独的道具,因为我希望能够在没有自定义regex的情况下传递
errorMessage
。我明白了。也许你会发现这个解决方案:更适合你的形式?基本上将自定义RegExp表单和默认表单定义为单独的实体。
const Form: React.FC<FormProps> = props => {
  return <div> somestuff </div>
}