Какой знаешь способ прокидывания кроме Redux

«Какой знаешь способ прокидывания кроме Redux» — вопрос из категории Архитектура, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

  • Context API: Встроен в React, позволяет передавать данные без пропсов. Используется для глобального состояния.
const MyContext = React.createContext();
<MyContext.Provider value={data}>
  <ChildComponent />
</MyContext.Provider>
  • MobX: Библиотека для управления состоянием с реактивными данными. Проще в настройке, чем Redux.

  • Zustand: Минималистичный стейт-менеджер. Не требует оберток, удобен для небольших приложений.

const useStore = create(set => ({
  count: 0,
  increment: () => set(state => ({ count: state.count + 1 })),
}));
  • Recoil: Разработан Facebook. Работает с атомами и селекторами, подходит для сложных состояний.

  • Props Drilling: Прямая передача через пропсы. Подходит для простых случаев, но не масштабируется.

  • Event Bus / PubSub: Паттерн для передачи событий между компонентами. Например, через window.dispatchEvent.

  • URL (React Router): Хранение состояния в URL (query-параметры). Полезно для фильтров или настроек.