Вопрос проверяет понимание преимуществ и недостатков MobX как инструмента управления состоянием в React-приложениях.
MobX — это библиотека для управления состоянием, которая делает данные реактивными. Она автоматически отслеживает изменения и обновляет пользовательский интерфейс, минимизируя ручную работу разработчика. В отличие от Redux, где нужно явно описывать действия и редьюсеры, MobX позволяет работать с состоянием как с обычными JavaScript-объектами, добавляя к ним магию реактивности.
observable, а компоненты — в observer. Код становится короче и понятнее.import { makeAutoObservable } from 'mobx';
import { observer } from 'mobx-react-lite';
class CounterStore {
count = 0;
constructor() {
makeAutoObservable(this);
}
increment() {
this.count++;
}
}
const store = new CounterStore();
const Counter = observer(() => {
return (
<div>
<p>Count: {store.count}</p>
<button onClick={() => store.increment()}>+</button>
</div>
);
});В этом примере CounterStore автоматически делает свойство count реактивным. Компонент Counter обёрнут в observer, поэтому он будет перерисовываться только при изменении count.
MobX стоит применять в небольших и средних проектах, где важна скорость разработки и простота кода. Он идеален для прототипов и приложений с несложной логикой состояния. Для крупных проектов с множеством разработчиков и строгими требованиями к предсказуемости лучше выбрать Redux или другие более формализованные решения.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию