#reactjs #ecmascript-6 #destructuring
#reactjs #ecmascript-6 #деструктурирование
Вопрос:
Я использую Next.js и сопоставление некоторых компонентов с помощью приведенного ниже кода. Все работает так, как должно, но я бы очень хотел изменить свойства объекта здесь, чтобы не повторять пути внутри моего реквизита
{sortedData.map((service) => (
<Article
key={uuidv4()}
title={service.fields.title}
image={service.fields.thumbnail.fields.file.url}
alt={service.fields.thumbnail.fields.file.fileName}
slug={service.fields.slug}
content={service.fields.intro}
height={service.fields.thumbnail.fields.file.details.image.height}
width={service.fields.thumbnail.fields.file.details.image.width}
/>
))}
Я попытался найти похожие вопросы здесь, но не смог найти ни одного. Любая помощь приветствуется
Комментарии:
1.
.map(({ fields: { title, ... } }) =>
?2. Если вы не знаете, как выполнить деструктурирование, используйте стандартный подход и вводите временные переменные:
service => { const fields = service.fields; const thumbFile = fields.thumbnail.fields.file; return …; }
Ответ №1:
Объект службы разрушения, пример:
{sortedData.map(({ fields: { title, thumbnail, slug, intro } }) => (
<Article
key={uuidv4()}
title={title}
image={thumbnail.fields.file.url}
alt={thumbnail.fields.file.fileName}
slug={slug}
content={intro}
height={thumbnail.fields.file.details.image.height}
width={thumbnail.fields.file.details.image.width}
/>
))}