Вопрос проверяет понимание однонаправленного потока данных в React и механизмов передачи данных между компонентами.
React использует однонаправленный поток данных (unidirectional data flow). Это означает, что данные передаются только сверху вниз — от родительских компонентов к дочерним. Такой подход упрощает отладку и делает предсказуемым поведение приложения.
Родительский компонент передает данные дочернему через атрибуты, называемые props. Дочерний компонент не может напрямую изменять эти данные. Если нужно изменить состояние, дочерний компонент вызывает функцию-колбэк, переданную через props, которая обновляет состояние в родителе.
// Родительский компонент
function Parent() {
const [count, setCount] = useState(0);
const increment = () => setCount(count + 1);
return <Child count={count} onIncrement={increment} />;
}
// Дочерний компонент
function Child({ count, onIncrement }) {
return (
<div>
<p>Count: {count}</p>
<button onClick={onIncrement}>+1</button>
</div>
);
}Однонаправленный поток данных предотвращает хаотичные изменения состояния, которые сложно отследить. Каждый компонент получает данные только от родителя и не может их изменить напрямую. Это делает код более предсказуемым и упрощает рефакторинг.
Однонаправленный поток данных в React — это фундаментальный принцип, который обеспечивает стабильность и предсказуемость приложения. Его стоит применять во всех React-проектах для упрощения управления состоянием и отладки.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию