Насколько я понимаю, нужно полностью перемонтировать компонент. Можно обернуть в компонент верхнего уровня со свойством key и методом его изменения.
const resetable = Component => class extends React.Component {
state = {key: 0};
render() {
return <Component
{...this.props}
reset={() => this.setState({key: this.state.key + 1})}
key={this.state.key}
/>;
}
}
пример
Или без state с forceUpdate
const resetable = Component => class extends React.Component {
render() {
return <Component
{...this.props}
reset={() => this.forceUpdate()}
key={Math.random()}
/>;
}
}
Ну или просто в родительском компоненте сделать то же самое.