Я использую этот пример для создания блога с Гэтсби.
В этом руководстве обозначения присваивания используются следующим образом:
export default function Index({ data }) {
const { edges: posts } = data.allMarkdownRemark
return (
<div className="blog-posts">
{posts
.filter(post => post.node.frontmatter.title.length > 0)
.map(({ node: post }) => {
return (...);
})}
</div>
)
}
Строка 2, которая кажется мне деконструирующим заданием, сбивает меня с толку. Из какого словаря мы присваиваем ключу edges
значение posts
? Почему мы можем ссылаться на posts
позже, не используя ключ edges
?
Это по-прежнему деструктурирующее задание. Все, что он делает, это переименовывает свойство edge в "posts". Я часто делаю это, чтобы сделать код более читабельным, если, например, получаю данные из незнакомого API.