Самый простой способ показан в следующем фрагменте:
const Customer = ({ name, age }) => (
<div>
<p>Name: {name}</p>
<p>Age: {age}</p>
</div>
);
const App = () =>
[{ name: "Bert", age: 22 }, { name: "Alfons", age: 45 }].map(
({ name, age }, i) => (
<>
<Customer key={i} name={name} age={age} />
<hr />
</>
)
);
Где вы определите эти реквизиты, зависит от того, где они вам нужны. Если реквизиты нужны только одному компоненту, вы определяете их в состоянии этих компонентов. Но часто вам нужны реквизиты из нескольких компонентов, поэтому вы поднимаете их в иерархии до . Это часто приводит к очень «умному» компоненту (компоненту с большим состоянием).
Если ваше приложение становится большим и запутанным, я предлагаю вам сохранить ваше состояние внешне. Для этого вы можете использовать реагирует контекст . Это позволяет вам вводить реквизит в компоненты, которые в нем нуждаются, вместо того, чтобы передавать его на несколько уровней вниз по иерархии.
Если вы не хотите писать собственный контекст, вы можете использовать такие решения для управления состоянием, как redux или mobx . Они также используют контекст, но предоставляют удобные функции для простого подключения компонента к внешнему состоянию.