select 事件和默认值的 Typescript 转换错误

Typescript conversion error for select event and default value

TSlint 在 defaulValue 上抛出错误 - Type 'string' is not assignable to type 'ChangeEvent<HTMLInputElement> | undefined - 对于以下代码

const App = () => {
  const [ month, setMonth] = useState("last1")
  const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
      console.log(e);
      setMonth(e.target.value);
  }
  ...

然后在里面 return

  <Select defaultValue={month} style={{ width: 120 }} onChange={handleChange}>

您使用的 Select 组件很可能会将值传递给 onChange handler 而不是事件,因此您会收到该警告

你应该像这样定义它

const App = () => {
  const [ month, setMonth] = useState("last1")
  const handleChange = (value: string) => {
      setMonth(value);
  }
  ...