Javascript 为什么布尔运算符在.map中只返回假值?
我的布尔运算符有问题。我想一个div返回只有当特征是真实的。我的控制台日志显示假值,但真值显示未定义Javascript 为什么布尔运算符在.map中只返回假值?,javascript,reactjs,Javascript,Reactjs,我的布尔运算符有问题。我想一个div返回只有当特征是真实的。我的控制台日志显示假值,但真值显示未定义 {data.allContentfulProducts.nodes.map(product => { return ( <Link to={`/shop/${pageContext.slug}/${product.slug}`} className={styles.featuredItem}
{data.allContentfulProducts.nodes.map(product => {
return (
<Link
to={`/shop/${pageContext.slug}/${product.slug}`}
className={styles.featuredItem}
key={product.id}
>
{console.log(product.featured)}
{product.featured ? (
<div className={styles.featuredSticker}>
<p>Look I'm New!</p>
</div>
) : null}
<Img
className={styles.featuredImage}
alt={product.mainImage.title}
fluid={product.mainImage.fluid}
style={{
position: 'relative',
width: '100%',
height: '100%',
}}
objectFit="cover"
/>
<h3>{product.title}</h3>
</Link>
)
})}
{data.allContentfulProducts.nodes.map(产品=>{
返回(
{console.log(product.featured)}
{产品特色(
看,我是新来的
):null}
{product.title}
)
})}
任何帮助都将不胜感激。只有在jsx表达式为真时,才可以使用&&operator返回它
{product.featured && (
<div className={styles.featuredSticker}>
<p>Look I'm New!</p>
</div>
)
{product.featured&&(
看,我是新来的
)
删除我的缓存解决了这个问题。使用Gatsby&Contentful解决了这个问题。控制台.log
总是返回未定义的日志。它是一个日志工具。它的返回值不应该有用。我没有使用控制台日志返回任何东西…我可能没有正确解释自己。在我的.map中我有一个控制台日志,logging product.featured.False返回False,true返回‘未定义’。@AaronDuke,对于控制台部分,我相信它归结为术语,而不是返回
,更清楚的说法是显示
或显示
等。如果控制台日志在显示true时显示未定义,您确定该值是真的吗是吗?如果它记录的是未定义的
,那么它就是未定义的
。可能是您在尝试设置属性名称时键入了一个错误。删除{console.log(product.featured)}
行。代码是否按预期工作?如果不是,请添加console.log(JSON.stringify(product,null,2))返回(
行)上方,在映射(product=>{
行之后。只查看控制台,查看“特色”
属性的值。