У мене іноді виникають компоненти реагування, які є концептуально вигідними, і які я хочу скинути. Ідеальна поведінка буде еквівалентно видаленню старого компонента та повторному додаванню нового, первозданного компонента.
React надає метод, setState
який дозволяє встановлювати власний явний стан компонентів, але який виключає неявний стан, такий як фокус браузера та стан форми, а також виключає стан його дочірніх елементів. Вловлювання всього цього непрямого стану може бути складною задачею, і я вважаю за краще вирішити його чітко і повністю, а не гру, яка грає з кожним новим дивовижним станом.
Чи існує API або шаблон для цього?
Редагувати: Я зробив тривіальний приклад, який демонструє this.replaceState(this.getInitialState())
підхід і протиставляє його this.setState(this.getInitialState())
підходу: jsfiddle - replaceState
більш надійний.