Если вы не хотите повторного рендеринга, используйте переменную, отличную от state, для хранения ваших данных:
constructor (props) {
super(props);
this.state = {
input: ''
};
this.holder = '';
}
handleInput(input) {
this.holder = input;
}
submitInput() {
this.setState({input: this.holder})
}
render () {
return (
<input type="text" onChange={(e) => this.handleInput(e.target.value)} onBlur={() => this.submitInput()} />
)
}
Цель состояния состоит в том, чтобы React оценил необходимость изменения DOM, и если он это делает, то он рендерится заново.