Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript GatsbyJs返回意外的令牌;如果;编译时_Javascript_Reactjs_Gatsby - Fatal编程技术网

Javascript GatsbyJs返回意外的令牌;如果;编译时

Javascript GatsbyJs返回意外的令牌;如果;编译时,javascript,reactjs,gatsby,Javascript,Reactjs,Gatsby,我在gatsbyJs中有一个简单的代码,它从静态查询ingraphql中获取数据并呈现组件。我需要在render函数中检查数据对象中是否存在子对象,如果存在子对象,则使用数据添加一个html块 代码如下: import React from 'react' import { Link, StaticQuery, graphql } from 'gatsby' export default () =>( <StaticQuery query={graphql`

我在gatsbyJs中有一个简单的代码,它从静态查询ingraphql中获取数据并呈现组件。我需要在render函数中检查数据对象中是否存在子对象,如果存在子对象,则使用数据添加一个html块

代码如下:

import React from 'react'
import { Link, StaticQuery, graphql } from 'gatsby'

export default () =>(
   <StaticQuery
   query={graphql`
       query ProductQuery {
        contentful: allContentfulProduct {
          products: edges {
            product: node {
              id
              name
              teaser {
                       teaser
                     }
            }
          }
       }}
       `}
    render={data => (

        data.contentful.products.map((product) => (
           <div className="col-md-4 inline">
             <h1>{product.product.name}</h1>
             {if (product.product.teaser !==null){
                <p>{product.product.teaser.teaser}</p>
             } 


             { console.log(product)}
           </div>

        )
     ))}
     />
)
从“React”导入React
从“gatsby”导入{Link,StaticQuery,graphql}
导出默认值()=>(
(
data.contentful.products.map((产品)=>(
{product.product.name}
{if(product.product.trister!==null){
{product.product.triser.triser}

} {console.log(产品)} ) ))} /> )

当我删除if块时,代码运行良好,但是if无法编译。

在这样的花括号表达式中不能使用
if
操作符。尝试将语法更改为:

{product.product.teaser !== null && (
    <p>{product.product.teaser.teaser}</p>
)}
{product.product.trister!==null&&(
{product.product.triser.triser}

)}
文档中的更多示例:

可能重复的