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