Что такое реквизиты в React?

В React термин “props” (сокращение от “properties”, по-русски “реквизиты” или “свойства”) используется для передачи данных от родительских компонентов к дочерним. Реквизиты являются неизменными (immutable) и доступны только для чтения в компоненте, в который они передаются.

Вот основные характеристики реквизитов в React:

  1. Передача данных:
  • Родительский компонент может передать данные своим дочерним компонентам через реквизиты.
  • Реквизиты передаются в виде атрибутов компонента при его использовании в JSX. Пример: // Родительский компонент передает значение "name" в дочерний компонент <ChildComponent name="John" />
  1. Использование в дочернем компоненте:
  • Дочерний компонент получает реквизиты в виде объекта props. Пример: function ChildComponent(props) { return <p>Hello, {props.name}!</p>; }
  1. Неизменяемость (Immutable):
  • Реквизиты являются неизменяемыми, что означает, что компонент не должен изменять свои реквизиты.
  • В React следует избегать изменения реквизитов напрямую.
  1. Использование по умолчанию (Default Props):
  • Можно определить значения по умолчанию для реквизитов с помощью defaultProps. Пример: function ChildComponent(props) { return <p>Hello, {props.name}!</p>; } ChildComponent.defaultProps = { name: 'Guest' };
  1. Передача функций:
  • Реквизиты могут быть и функциями, которые используются для обратного вызова из дочерних компонентов к родительским. Пример: function ParentComponent() { const handleClick = () => { console.log('Button clicked!'); }; return <ChildComponent onClick={handleClick} />; } function ChildComponent(props) { return <button onClick={props.onClick}>Click me</button>; }
  1. Передача компонентов в качестве реквизитов:
  • Компоненты также могут быть переданы в качестве реквизитов, что позволяет создавать более гибкие и мощные интерфейсы. Пример: function ParentComponent() { return <ChildComponent render={() => <p>Hello from ChildComponent</p>} />; } function ChildComponent(props) { return <div>{props.render()}</div>; }

Реквизиты в React являются основным механизмом для передачи данных между компонентами, что делает компоненты более переиспользуемыми и модульными.