Ответ
Two-way binding — это механизм синхронизации данных между моделью (данными) и представлением (UI). Когда данные в модели меняются, представление автоматически обновляется, и наоборот — изменения в UI (например, ввод в поле формы) сразу отражаются в модели.
Чаще всего используется в формах. Например, во фреймворках типа Angular или Vue:
<!-- Vue.js пример -->
<input v-model="message">
<p>{{ message }}</p>
// Angular пример
<input [(ngModel)]="message">
<p>{{ message }}</p>
Под капотом это обычно комбинация:
- Связывания свойств (property binding) — модель → представление
- Обработки событий (event binding) — представление → модель
В React two-way binding эмулируется через управляемые компоненты:
function MyComponent() {
const [value, setValue] = useState('');
return <input value={value} onChange={(e) => setValue(e.target.value)} />;
}
Основной плюс — удобство работы с формами, минус — потенциальные проблемы с производительностью при сложных связях.