Javascript 未捕获的语法错误:意外标记'<';反应盖茨比网络应用

Javascript 未捕获的语法错误:意外标记'<';反应盖茨比网络应用,javascript,reactjs,gatsby,Javascript,Reactjs,Gatsby,** React Gatsby web app:Uncaught SyntaxError:Unexpected token'这通常是由于试图将XHR响应解析为JSON,而正文实际上包含HTML 当请求错误时,经常会出现这种情况:路径组件拼写错误或方法不受支持。一些HTTP服务器框架在默认情况下被配置为返回一个非常基本的HTML错误页面,以查找不匹配的路由 因此,如果您的fetch中有一个输入错误,并且目标服务器正在使用默认的unmatched route响应,但是您的代码假设响应是JSON,那么

**


React Gatsby web app:Uncaught SyntaxError:Unexpected token'这通常是由于试图将XHR响应解析为JSON,而正文实际上包含HTML

当请求错误时,经常会出现这种情况:路径组件拼写错误或方法不受支持。一些HTTP服务器框架在默认情况下被配置为返回一个非常基本的HTML错误页面,以查找不匹配的路由

因此,如果您的fetch中有一个输入错误,并且目标服务器正在使用默认的unmatched route响应,但是您的代码假设响应是JSON,那么您将得到这个确切的错误

尝试在JS控制台中运行此代码段,我敢打赌您会得到相同的错误:

JSON.parse(“”)

这通常是因为试图将XHR响应解析为JSON,而正文实际上包含HTML

当请求错误时,经常会出现这种情况:路径组件拼写错误或方法不受支持。一些HTTP服务器框架在默认情况下被配置为返回一个非常基本的HTML错误页面,以查找不匹配的路由

因此,如果您的fetch中有一个输入错误,并且目标服务器正在使用默认的unmatched route响应,但是您的代码假设响应是JSON,那么您将得到这个确切的错误

尝试在JS控制台中运行此代码段,我敢打赌您会得到相同的错误:

JSON.parse(“”)

我怀疑是否有人能够运行此代码,因为它显然取决于复杂的属性值(
课程
)以及源代码不存在的外部模块。我建议将此组件空心化,只将道具记录为字符串,以确认输入值正是您所期望的。我怀疑是否有人能够运行此代码,因为它显然取决于复杂的道具值(
课程
)以及源代码不存在的外部模块。我建议将此组件空心化,只将道具记录为字符串,以确认输入值正是您期望的值。我已将道具记录在字符串中,但道具中没有延迟。我也为npm做了缓存清除,但它仍然存在。你有其他解决方案吗?谢谢主席先生,为快速响应,但我仍然不能解决这个错误,我已经做了记录的道具在字符串中,但没有滞后的道具。我也为npm做了缓存清除,但它仍然存在。你有其他解决方案吗?谢谢你的快速回复,但我仍然无法解决这个错误
import React, { Component } from "react"
import Heading from "../Reuseable/Heading"
import Img from "gatsby-image"

const getCategory = items => {
  let holditems = items.map(items => {
    return items.node.category
  })
  let holdCategories = new Set(holditems)
  let categories = Array.from(holdCategories)
  categories = ["all", ...categories]
  return categories
}

export default class Coursecart extends Component {
  constructor(props) {
    super(props)
    this.state = {
      courses: props.courses.edges,
      mycourses: props.courses.edges,
      mycategories: getCategory(props.courses.edges),
    }
  }

  cateClicked = category => {
    let keepItsafe = [...this.state.courses]
    if (category === "all") {
      this.setState(() => {
        return { mycourses: keepItsafe }
      })
    } else {
      let holdMe = keepItsafe.filter(node => {
        return node.category === category
      })
      this.setState(() => {
        return { mycourses: holdMe }
      })
    }
  }

  render() {
    return (
      <section className="py-5">
        <div className="container">
          <Heading title="Courses" />
          <div className="row my-3">
            <div className="col-10 mx-auto text-center">
              {this.state.mycategories.map((category, index) => {
                return (
                  <button
                    type="button"
                    className="btn btn-info m-3 px-3"
                    key={index}
                    onClick={() => {
                      this.cateClicked(category)
                    }}
                  >
                    {category}
                  </button>
                )
              })}
            </div>
          </div>
          <div className="row">
            {this.state.mycourses.map(({ node }) => {
              return (
                <div
                  key={node.id}
                  className="col-11 col-md-6 d-flex my-3 mx-auto"
                >
                  <Img fixed={node.image.fixed} />
                  <div className="flex-grow-1 px-3">
                    <div className="d-flex">
                      <h6 className="mb-0">{node.title}</h6>
                      <h6 className="mb-0 text-success ml-3">$ {node.price}</h6>
                    </div>
                    <p className="text-muted">
                      <small>{node.description.description}</small>
                    </p>
                    <button
                      className="btn btn-warning snipcart-add-item"
                      data-item-id={node.id}
                      data-item-name={node.title}
                      data-item-price={node.price}
                      data-item-url="https://https://rgecom.netlify.app/"
                      data-item-image={node.image.fixed.src}
                    >
                      Join Now
                    </button>
                  </div>
                </div>
              )
            })}
          </div>
        </div>
      </section>
    )
  }
}