Вопрос по reactjs – Реагируйте: оставьте содержимое компонента в покое

7

Возможно ли, чтобы React игнорировал поддерево? т.е. несравнить или обновить?

Мой вариант использования переносится в React. Переписывание всех наших шаблонов Handlebars за разЭто возможно, но если бы мы могли использовать наши существующие шаблоны для некоторых подкомпонентов, мы могли бы постепенно их применять.

Ваш Ответ

2   ответа
0

https://gist.github.com/alexeisavca/d4ff175fd16c93c8785d

Вот'с кофейной версией этого.

module.exports = ReactIgnore = React.createClass
  shouldComponentUpdate: ->
    false
  render: ->
    React.Children.only @props.children

И оберните ваш компонент в это:

<reactignore>
  YourComponent
</reactignore>
17

если ты неt изменить поддерево в React, тогда DOM победилне трогай вообще. Это's легко обернуть не-React функциональность, как шаблон Handlebars в React. Вы можете использовать:dangerouslySetInnerHTML

render: function() 
    return ;
}

или вы можете просто вернуть пустой div и заполнить (или прикрепить обработчики событий и т. д.) в componentDidMount:

render: function() 
    return ;
},
componentDidMount: function() {
    var node = React.findDOMNode(this);
    node.innerHTML = template(values);
}

В последнем случае React победилне трогайте DOM после первоначального рендерингаrender всегда возвращает одно и то же.

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