TGViewer
Frontend | Вопросы собесов Frontend | Вопросы собесов @easy_javascript_ru · 17.6K subscribers
Post #2123 2.8K
🤔 Расскажи про mobx

MobX — это библиотека для управления состоянием в JavaScript-приложениях, особенно в React. Она основана на реактивности и позволяет автоматически отслеживать изменения данных, обновляя интерфейс только там, где это необходимо.

🚩Основные принципы MobX

🟠Модели данных – `observable` (наблюдаемые)
MobX делает объекты реактивными, автоматически отслеживая их изменения.
import { makeAutoObservable } from "mobx";

class Store {
count = 0;

constructor() {
makeAutoObservable(this); // Автоматически делает свойства "наблюдаемыми"
}

increment() {
this.count++;
}
}

const store = new Store();


🟠Экшены (`actions`)
Это методы, которые изменяют состояние.
store.increment(); // Увеличит count и автоматически обновит UI


🟠Компоненты подписываются на изменения – `observer`
Чтобы React-компонент обновлялся при изменении данных, его нужно обернуть в observer (из mobx-react-lite).
import React from "react";
import { observer } from "mobx-react-lite";

const Counter = observer(({ store }) => (
<div>
<p>Счетчик: {store.count}</p>
<button onClick={() => store.increment()}>+</button>
</div>
));

export default Counter;


🟠Компьютед-свойства (`computed`)
Это вычисляемые значения, которые пересчитываются только при изменении зависимостей.
class Store {
count = 2;

constructor() {
makeAutoObservable(this);
}

get double() {
return this.count * 2;
}
}

const store = new Store();
console.log(store.double); // 4
store.count = 5;
console.log(store.double); // 10 (пересчиталось автоматически)


Ставь 👍 и забирай 📚 Базу знаний
  • 👍 7
More from @easy_javascript_ru
  1. Oct 4, 2026🤔 В чём отличие amend от squash? amend заменяет последний коммит, добавляя новые изменени…
  2. Oct 4, 2026🤔 Можно ли перезапустить остановленный promise? Нет, Promise в JavaScript нельзя перезапу…
  3. Oct 4, 2026Post #3008
  4. Oct 3, 2026🤔 Что известно про шаблонное проектирование, которое ты использовал в разработке? Шаблонн…
  5. Oct 3, 2026🤔 Какие знаешь подходы по написанию css? Существует несколько методологий и подходов к на…
  6. Oct 2, 2026🤔 Какие статические методы promise знаешь? Promise – это объект, представляющий отложенны…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →