Встречается на собеседованиях • сегодня
Как реализовать мемоизацию в классовых компонентах
В классовых компонентах React мемоизацию можно реализовать с помощью `PureComponent` или метода `shouldComponentUpdate`. Также можно мемоизировать вычисляемые значения с помощью кэширования в свойствах экземпляра.
**Пример с PureComponent:**
```jsx
import React, { PureComponent } from 'react';
class MemoizedComponent extends PureComponent {
render() {
return
{this.props.value}
;
}
}
```
**Пример с shouldComponentUpdate:**
```jsx
class MyComponent extends React.Component {
shouldComponentUpdate(nextProps) {
return nextProps.value !== this.props.value;
}
render() {
return {this.props.value}
;
}
}
```
**Кэширование вычислений:**
```jsx
class ExpensiveComponent extends React.Component {
cachedValue = null;
lastPropsId = null;
getExpensiveValue() {
if (this.lastPropsId !== this.props.id) {
this.cachedValue = heavyCalculation(this.props.id);
this.lastPropsId = this.props.id;
}
return this.cachedValue;
}
render() {
const value = this.getExpensiveValue();
return {value}
;
}
}
```
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы