Сначала определите ваш компонент, который содержит <input />
(или функцию)
class MyClass extends Component {
render() {
// you can extract some of the props if you want to manipulate somehow. Everything else will be saved in rest
const { value, name, ...rest } = this.props;
return (
<input value={value} name={name} {...rest} />
)
}
}
Затем к этому новому компоненту вы можете добавить любые реквизиты, доступные для тега <input/>
, пример:
class Test extends Component {
render() {
return (
<Fragment>
<MyClass value={5} name="Name" onBlur={this.onBlur} onFocus={this.onFocus} />
<MyClass value="Hello, world!" id='randomId' onChange={e => console.log(e.target.value)} />
</Fragment>
)
}
onBlur = e => {
console.log('Blur');
}
onFocus = e => {
console.log('Focus');
}
}
Теперь у вас есть два разных входа - один прослушивает onBlur и onFocus, другой имеет id и прослушивает onChange.