属性 'onClick' 不存在于类型 '{ children?: ReactNode; }'

Property 'onClick' does not exist on type '{ children?: ReactNode; }'

我似乎找不到我做错了什么...... 任何帮助将不胜感激:

type Props = {
  onClick: () => void, 
  value: string
}

const CustomInput = forwardRef<Props>(({ onClick, value }, ref) => (
  <div className="react-datepicker-custom-input" onClick={onClick}>
    {value}
    <i className={classes.arrowDown}></i>
  </div>
));


error message: Property 'onClick' does not exist on type '{ children?: ReactNode; }

导出默认自定义输入;

Props 泛型应该作为第二个参数,而不是第一个。

示例:

type Props = {
  onClick: () => void, 
  value: string
}

type RefType=number
const CustomInput = forwardRef<RefType, Props>(({ onClick, value }, ref) => (
  <div className="react-datepicker-custom-input" onClick={onClick}>
    {value}
    <i className={classes.arrowDown}></i>
  </div>
));

forwardRef 的第一个通用参数用于 ref 类型,第二个 - 如果相应地用于 props

您可以这样添加:

type Props = {
  onClick: () => void, 
  value: string
}

const CustomInput = forwardRef<Props>(({ onClick, value }:Props, ref:any) => (
  <div className="react-datepicker-custom-input" onClick={onClick}>
    {value}
    <i className={classes.arrowDown}></i>
  </div>
));