Иногда у меня есть компоненты реакции, которые концептуально сохраняют состояние, и я хочу их сбросить. Идеальное поведение было бы эквивалентно удалению старого компонента и чтению нового, нетронутого компонента.
React предоставляет метод, setState
который позволяет устанавливать собственное явное состояние компонентов, но исключает неявное состояние, такое как фокус браузера и состояние формы, а также исключает состояние его дочерних элементов. Поймать все это косвенное состояние может быть сложной задачей, и я предпочел бы решить ее строго и полностью, а не придумывать каждое новое неожиданное состояние.
Есть ли для этого API или шаблон?
Изменить: я сделал тривиальный пример, демонстрирующий this.replaceState(this.getInitialState())
подход и противопоставляющий его this.setState(this.getInitialState())
подходу: jsfiddle - replaceState
более надежен.