Встречается на 2% собеседований по JavaScript

Как используешь MobX кроме Observer

MobX можно использовать без Observer, напрямую управляя состояниями и реакциями.

1. Создание хранилища (store):

javascript
class CounterStore {
  @observable count = 0;

  @action increment = () => this.count++;
  @action decrement = () => this.count--;
}

const counterStore = new CounterStore();

2. Автоматические реакции (autorun, reaction, when):

javascript
autorun(() => console.log(`Count: ${counterStore.count}`));
reaction(
  () => counterStore.count,
  (count) => count > 5 && alert('Count exceeded 5!')
);

3. Локальное состояние в компонентах (без Observer):

javascript
const Counter = () => {
  useEffect(() => {
    const dispose = autorun(() => console.log(counterStore.count));
    return dispose;
  }, []);

  return <button onClick={counterStore.increment}>+</button>;
};

4. Оптимизация с computed:

javascript
class UserStore {
  @observable users = [];

  @computed get activeUsers() {
    return this.users.filter(user => user.isActive);
  }
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы