Ошибка преобразования машинописного текста для события выбора и значения по умолчанию

TSlint выдает ошибку для значения по умолчанию — 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);
  }
  ...

а затем внутри вернуться

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

person HalfWebDev    schedule 02.01.2019    source источник


Ответы (1)


Компонент Select, который вы используете, скорее всего, будет передавать значение onChange handler вместо события, и, следовательно, вы получите это предупреждение.

Вместо этого вы должны определить его как

const App = () => {
  const [ month, setMonth] = useState("last1")
  const handleChange = (value: string) => {
      setMonth(value);
  }
  ...
person Shubham Khatri    schedule 02.01.2019
comment
Да, он передает строку как первый аргумент и параметр как второй. Читал то же самое из документов ant.design/components/select. Я просто хотел остановить распространение того же самого. Я буду обречен, если они не предоставят базовый обработчик событий - person HalfWebDev; 02.01.2019
comment
Глупо задавать этот вопрос сейчас. Я предположил, что почти они должны предоставлять то же самое, и подумал, что это ошибка машинописного текста (новая для него). - person HalfWebDev; 02.01.2019
comment
@kushalvm вот ответ stackoverflow .com/questions/47393999/ - person ma_dev_15; 02.01.2019
comment
@ma_dev_15 M не использует реакцию-выбор, а использует дизайн муравья в качестве библиотеки пользовательского интерфейса - person HalfWebDev; 02.01.2019
comment
Попробуйте это stackoverflow.com/questions/45684925/ @kushalvm - person ma_dev_15; 02.01.2019
comment
AntD использует компонент rc-select, и, возможно, они уже останавливают распространение. Я поищу и сообщу, если что-нибудь найду. Проверьте этот код github.com/react-component/select/blob /master/src/Select.tsx - person Shubham Khatri; 02.01.2019
comment
Ммм... Я фактически передал компонент select внутри свойства заголовка компонента Collapse в качестве узла React. Не уверен, что контекст помогает, но только что упомянул. Почти уверен, что это не мешает - person HalfWebDev; 02.01.2019