Что такое Two-way binding

Ответ

Two-way binding — это механизм синхронизации данных между моделью (данными) и представлением (UI). Когда данные в модели меняются, представление автоматически обновляется, и наоборот — изменения в UI (например, ввод в поле формы) сразу отражаются в модели.

Чаще всего используется в формах. Например, во фреймворках типа Angular или Vue:

<!-- Vue.js пример -->
<input v-model="message">
<p>{{ message }}</p>
// Angular пример
<input [(ngModel)]="message">
<p>{{ message }}</p>

Под капотом это обычно комбинация:

  1. Связывания свойств (property binding) — модель → представление
  2. Обработки событий (event binding) — представление → модель

В React two-way binding эмулируется через управляемые компоненты:

function MyComponent() {
  const [value, setValue] = useState('');
  return <input value={value} onChange={(e) => setValue(e.target.value)} />;
}

Основной плюс — удобство работы с формами, минус — потенциальные проблемы с производительностью при сложных связях.