Встречается на собеседованиях • сегодня
Как можно предотвратить перерендер
Есть несколько способов предотвратить лишние перерендеры в React:
1. **React.memo** - для мемоизации функциональных компонентов:
```jsx
const MyComponent = React.memo(function MyComponent(props) {
/* рендер только если пропсы изменились */
});
```
2. **useMemo** - для мемоизации вычисляемых значений:
```jsx
const memoizedValue = useMemo(() => computeExpensiveValue(a, b), [a, b]);
```
3. **useCallback** - для мемоизации функций:
```jsx
const memoizedCallback = useCallback(() => {
doSomething(a, b);
}, [a, b]);
```
4. **Оптимизация контекста** - разделение контекстов или использование селекторов:
```jsx
const value = useContext(MyContext);
const memoizedValue = useMemo(() => ({ value }), [value]);
```
5. **Ключи в списках** - стабильные key для элементов списка:
```jsx
items.map(item => {item.text} )
```
Важно применять эти методы осознанно, только там где действительно есть проблемы с производительностью.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы