Как лучше всего визуализировать компонент, который скрыт в какой-то момент своего жизненного цикла? 1) визуализировать компонент, но не показывать его (display:none). 2) отображать компонент только при необходимости. Что лучше для производительности? Если реквизиты и состояние компонента будут обновлены позже, будет ли лучше, если компонент присутствует, но скрыт в виртуальном DOM?
render() {
return (
<div style={{display: this.props.visible ? 'block' : 'none'}}>
<RestofComponentHere />
</div>
);
}
или это:
render() {
if (!this.props.visible) {
return null;
}
return (
<div>
<RestofComponentHere />
</div>
);
}
Node
существует вDOM
, а React меняет свойство css только для того, чтобы показатьNode
. Второй вариант противоположен, потому что React требует добавления/удаления Node в/изDOM
., основываясь на лучших практиках - добавление или удаление элементов всегда медленнее, чем просто изменение видимости элемента - person Oleksandr T.   schedule 24.12.2016