If it's a DOM element you need to cast it to the correct type: handle Change (event) { this.set State ( {value: (event.target as HTMLInputElement) .value}); } This will infer the "correct" type for the state variable as well though being explicit is probably better. For now, I'm usin workaround of passing the logic to the ts, but it's not good because it's a public method. Property 'onSubmit' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes