Клонирование события-цели для использования в setState-call

Я хочу упростить обработку контролируемых входных данных в моем проекте (написано с использованием TypeScript), В настоящее время у меня есть одна функция, которая будет делать это:

private handleChange = (ev: React.ChangeEvent<HTMLInputElement>): void => {
    const target = ev.target;
    return this.setState((prevState) => ({ ...FormHelper.setObjectValue(target, prevState) }));
}

тогда как FormHelper.setObjectValue Функция определяется следующим образом:

export const setObjectValue = <TObject>(htmlElement: HTMLInputElement | HTMLSelectElement, obj: TObject): TObject => {
    const inputName = htmlElement.name;
    const newValue = htmlElement.value;
    setPathValue(obj, inputName, newValue); // done via third-party package "pathVal"
    return obj;
}

Тем не менее, с точки зрения событийного характера ReactJsданные события (особенно target) является нулевым, когда вызывается в setObjectValue вызов.

Моя цель состоит в том, чтобы первая часть была однострочной, которую я затем могу установить прямо на входе, например

<input type="text" name="someName" value={ev => this.setState(prevState => ({...FormHelper.setObjectValue(/*here i need the clone...*/, prevState)})} />

Я уже пробовала IIFE в качестве первого параметра для передачи, например ((event:React.ChangeEvent<HTMLInputElement>) => event.target)(ev) но цель все еще null,

Поэтому мне как-то нужна копия / клон исходной цели события, но я не понимаю, как этого можно достичь.

0 ответов

Другие вопросы по тегам