Javascript 如何在Next.js中使用.map()元标记
我正在尝试映射meta的内容,但是映射是复制整个meta标记的多次。这是我的密码Javascript 如何在Next.js中使用.map()元标记,javascript,reactjs,next.js,array.prototype.map,Javascript,Reactjs,Next.js,Array.prototype.map,我正在尝试映射meta的内容,但是映射是复制整个meta标记的多次。这是我的密码 {general.head.articleAuthor.en.map(( ) => ( <meta property="article:author" content={general.head.articleAuthor.en} /> ))} 我希望输出应该是这样的 但是我的代码映射为这样的 现在如果我添加name3,那么它将映射整个meta 3次。我不想
{general.head.articleAuthor.en.map(( ) => (
<meta property="article:author" content={general.head.articleAuthor.en} />
))}
我希望输出应该是这样的
但是我的代码映射为这样的
现在如果我添加name3
,那么它将映射整个meta 3次。我不想让meta标签复制。我需要内容映射
…但映射是整个元标记的多次复制
我可以想出两种解释。但在你写的评论中:
我只需要地图上的名字1,名字2。不是整个元标记映射多次 听起来您需要一个包含所有作者的
meta
标记。为此,请使用join
而不是map
:
<meta property="article:author" content={general.head.articleAuthor.en.join(", ")} />
// −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−^^^^^^^^^^^
在迭代中使用当前obj,而不是全部:
{general.head.articleAuthor.en.map((obj) => (
<meta property="article:author" content={obj} />
))}
“但是映射是对整个元标记的多次复制”,这似乎是您告诉它要做的。你想让它做什么呢?我只需要名称1,名称2来映射。不是整个元标记映射多次。
<meta property="article:author" content="name1, name2"} />
{general.head.articleAuthor.en.map(author => (
// −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−^^^^^^
<meta property="article:author" content={author} />
// −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−^^^^^^
))}
{general.head.articleAuthor.en.map((obj) => (
<meta property="article:author" content={obj} />
))}
{ <meta property="article:author" content={general.head.articleAuthor.en.join(',')} /> }