Задать вопрос

Как правильно сделать размонтирование элемента (блока) в react.js?

В документации сказано, что componentWillUnmount запускается перед размонтирование элемента из DOM. Но как сделать размонтирование элента?
Говоря попросту мне надо один элемент заменить другим, которые привязаны к одному id или просто удалить элемент.
Как грамотно это сделать, что бы запускался componentWillUnmount у элемента, который удаляется из DOM?
  • Вопрос задан
  • 5684 просмотра
Подписаться 3 Оценить 3 комментария
Решения вопроса 2
@roman01la
Не рендерить компонент, тогда React уберет его из DOM.

render() {
  let component = true ? <Comp1 /> : <Comp2 />;
  return (
    <div>{component}</div>
  );
}
Ответ написан
Laiff
@Laiff
Front-end developer
LB777: Например это может выглядеть так
var FluxCart = React.createClass({...})

var App = React.createClass({
  render : function () {
    var component = this.state.conditionToRenderCart ? <FluxCart /> : null;
    return (
      <div>
       {component}
      </div>
    )
  }
})


В таком случае когда состояние изменится и компонент не будет отрендрен реакт вызовет событие componentWillUnmount
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
PQR
@PQR
Допустим сначала вы создали компонент и отрендрили его на странице так:
React.render(<MyComponent />, document.getElementById('container'));


Позже, вы можете удалить его из DOM дерева, плюс React сам почистит все обработчики событий так:
React.unmountComponentAtNode(document.getElementById('container'));


facebook.github.io/react/docs/top-level-api.html#r...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы