import React from "react"; type Props = { onChange?: ( event: React.ChangeEvent, value: string, ) => void; onChangeArgs?: ( event: React.ChangeEvent, ) => [React.ChangeEvent, string]; }; class CustomInput extends React.Component { onChange: React.ChangeEventHandler = (event) => { let args: [React.ChangeEvent, string] = [ event, event.target.value, ]; if (this.props.onChangeArgs) { args = this.props.onChangeArgs(event); } this.props.onChange?.apply(this, args); }; render() { const { ...props } = this.props; delete props.onChangeArgs; return ; } } export default CustomInput;