我想在索引页的菜单部分显示我的产品。我试图从contentful API显示文本和图像等内容,但我得到了这个错误:
TypeError:无法读取null的属性“fixed”
src/components/homepageComponents/Product.js:6
3从“../../utils”导入{styles}
4从“gatsby-image”导入Img
5
6导出默认函数Product({Product}){
7 const{name,price,appriguitions}=Product
8 const{fixed}=Product.Img
这是我的product.js
import React from "react"
import styled from "styled-components"
import { styles } from "../../utils"
import Img from "gatsby-image"
export default function Product({ product }) {
const { name, price, ingredients } = product
const { fixed } = product.img
return (
<ProductWrapper>
<Img fixed={fixed} className="img" />
<div className="text">
<div className="product-content">
<h3 className="name">{name}</h3>
<h3 className="price">{price}</h3>
</div>
<p className="info">{ingredients}</p>
</div>
</ProductWrapper>
)
}
const ProductWrapper = styled.div`
@media (min-width: 576px) {
display: grid;
grid-template-columns: auto 1fr;
grid-column-gap: 1rem;
}
.img {
border-radius: 0.5rem;
}
.product-content {
display: flex;
justify-content: space-between;
font-size: 1.4rem;
text-transform: uppercase;
}
.name {
color: ${styles.colors.mainYellow};
margin-top: 0.5rem;
}
.price {
color: ${styles.colors.mainYellow};
margin-top: 0.5rem;
}
.info {
margin-top: 0.5rem;
word-spacing: 0.2rem;
text-transform: lowercase;
}
`
这是我的菜单。js
import React from "react"
import Product from "./Product"
import { StaticQuery, graphql } from "gatsby"
import { Section, Title } from "../../utils"
import styled from "styled-components"
// import { Link } from "gatsby"
export default function Menu() {
return (
<Section>
<Title title="Featured items" message="Little taste" />
<ProductList>
<StaticQuery
query={graphql`
{
items: allContentfulMenu {
edges {
node {
name
price
id
ingredients
img {
fixed(width: 150, height: 150) {
...GatsbyContentfulFixed_tracedSVG
}
}
}
}
}
}
`}
render={data => {
return data.items.edges.map(item => {
return <Product key={item.node.id} product={item.node} />
})
}}
/>
</ProductList>
</Section>
)
}
const ProductList = styled.div`
margin: 3rem 0;
display: grid;
grid-template-columns: 100%;
grid-row-gap: 3rem;
@media (min-width: 576px) {
grid-template-columns: 95%;
}
@media (min-width: 776px) {
grid-template-columns: 80%;
justify-content: center;
}
@media (min-width: 992px) {
grid-template-columns: 1fr 1fr;
grid-gap: 2rem;
}
`
在本例中,product
中的img
属性没有任何fixed
属性。特别是,img
为null,您将其视为对象。在对img
进行析构之前,您可能必须检查它是否实际上是一个对象
问题内容: 您好,我正在尝试将React-Router与Firebase配合使用。但这给了我这个错误。 无法读取null的属性“ props” 这正是代码,我正在使用我的react-router 向下代码在组件上作为loginpanel组件。 我的react路由器在main.jsx上声明,我的react-router看起来像这样。 问题答案: 在回调中,指针不再指向您的React组件。有很多方法可
我收到以下JavaScript错误: TypeError:无法读取null的属性“title” 代码如下: mds-iMac: cmscart imac$nodemo app[nodemo] 1.11.0[nodemo]随时重启,输入[nodemo]观看:.[nodemo]启动(node: 2274)DeprecationWarning:在猫鼬中被弃用 [nodemon]应用程序崩溃-正在等待文件
我在我的Gatsby应用程序中得到了这个错误,该应用程序为作者提取places数据。当author.social的map()点为null时,该错误将显示 谢谢
我正在使用Selenium进行iOS移动应用测试。我在使用相应的 我正在使用一个shell脚本来帮助我检查ios\u webkit\u debug\u代理是否可用。如果不存在,它将在2秒内启动ios\u webkit\u debug\u代理。 我的测试很顺利。但在appium中仍然面临一些问题,appium被停止肯定会给出一个 我试着用各种方法来解决这个问题。 重新启动Appium并再次运行。 但
React-Native: 0.57.1 react-nady-cli: 2.0.1节点: v8.11.3 npm: 5.6.0 巴别塔版本详情: “devDependencies”:“@babel/runtime”:“^7.0.0”,“babel jest”:“20.0.3”,“babel preset react native”:“^2.1.0”,“jest”:“20.0.4”,“react
我正在使用gatsby的“gatsby source prismic graphql”插件将我的prismic repo与一个组件连接起来,并将博客帖子数据显示为一张卡片。该查询在GraphiQL中运行良好,但当我将GraphQL查询实现到组件中时,Gatsby无法识别查询中的“Prismic”。 我尝试过显示其他数据,如站点元数据,这是没有问题的 以下是Git回购协议:https://githu