jack_azizov
@jack_azizov

Как правильно передать параметр в функцию?

Всем привет.Используется React и TypeScript
Подскажите пожалуйста, есть два инпута, value которые хранятся в стейте.

Есть функция в классе.
changeValue = (e: any, nameInput: string):void => {
    const value = e.target.value;
    this.setState({ [nameInput]: value })
  }


В параметре nameInput, я передаю имя той переменной, которая лежит в стейте и отвечает за хранение Value

Например :

<Input
                placeholder="Name"
                value={modalName}
                onChange={(e) => { this.changeValue(e, modalName) }}
              />
              <Input
                placeholder="Description"
                value={modalDescr}
                onChange={(e) => { this.changeValue(e, modalDescr) }}

              />


В результате получается вот такая ошибка.Подскажите с чем это связано и как обойти это ?

5c40403591063848058632.png

Текст ошибки если не видно на фото
C:/src/components/Table/TableWrap.tsx
(107,19): Argument of type '{ [x: string]: any; }' is not assignable to parameter of type 'State | ((prevState: Readonly, props: Readonly) => State | Pick) | Pick<...>'.
Type '{ [x: string]: any; }' is missing the following properties from type 'Pick': name, newTRows, descr, idTable, and 3 more.
  • Вопрос задан
  • 271 просмотр
Пригласить эксперта
Ответы на вопрос 2
0xD34F
@0xD34F Куратор тега React
Ответ написан
Комментировать
@sharkdest
Попробуй:

changeValue = (e: any, nameInput: string):void => {
    this.setState({ [nameInput]: e.target.value })
}


может из-за опечатки в слове target.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы