Я подозревал, что React может оптимизировать повторное использование возвращаемого значения метода render
. Поэтому что-то вроде этого не будет вызывать Foo
каждый раз, когда состояние Bar
меняется.
function Foo() {
return <h1>Foo</h1>;
}
class Bar extends Component {
cache = <Foo />;
render() {
return this.cache;
}
}
После некоторой проверки, достаточно, чтобы React выполнил проверку oldProps! == newProps и потенциально выручает из примирения на ранней стадии.
Что мне интересно, так это - следует ли считать это внутренней оптимизацией или документированным механизмом, на который пользователь может положиться? До сих пор я не смог найти никаких документов, подтверждающих или опровергающих это.