@stas_smolyanko
Junior Frontend Developer

Почему параметр компонента указан в фигурных скобках?

Привет!
Есть React компонент, который возвращает разметку. Он принимает аргументом объект, из которого будут взяты ключи name и code и подставлены в другие компоненты

function ProductPage({ product }) {
  return (
    <section>
      <Title>{product.name}</Title>
      <Code>{product.code}</Code>
    </section>
  )};

Вопрос - почему параметр заключен в фигурные скобки?

Вызывается этот компонент из index.js вот таким образом:
import ReactDOM from "react-dom";
import { product } from "./moke";

import ProductPage from "./product-page";

const rootElement = document.getElementById("root");
ReactDOM.render(<ProductPage product={product} />, rootElement);


И тут второй вопрос, аналогичный, почему product подставляется так же в фигурных скобках? Почему не "product"?

Заранее спасибо за ответ!
  • Вопрос задан
  • 280 просмотров
Решения вопроса 1
@TjLink
({product}) - это называется деструктуризация.
Ведь компонент принимает props.
const Component = (props) => {
 return (
  <div>{props.product}</div>
 )
}

А когда ты пишешь вот так: ( { product } ), то ты просто разворачиваешь props, достаёшь оттуда значение product
И вместо того, чтобы писать props.product, ты будешь писать просто product, так как ты уже раскрыл его.
Главное, что имя совпадало с именем пропса.
Деструктуризация почитай.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы