返回

在下一步中使用上下文API.js

发布时间:2022-04-20 21:56:56 250

我正在建造一个简单的下一个.js网站,使用spacex graphql API,使用apollo作为客户端。我试图进行api调用,将返回的数据保存到状态,然后将该状态设置为上下文。然而,在将数据保存到state之前,我想检查我的上下文提供者是否真的为应用程序提供了上下文,所以我只是通过了字符串“test”作为上下文。然而,在尝试提取antoher组件中的上下文时,我得到了以下错误:

错误:默认导出不是页面中的 React 组件:“/”

我的项目设置如下,我想我可能把上下文文件放错了地方:

pages
 -api
 -items
    -_app.js
    -index.js
public
styles
next.config.js
spacexContext.js

以下是我的应用程序的其余部分:

spaceContext。js

import { useState,useEffect,createContext } from 'react'
import { ApolloClient, InMemoryCache, gql } from "@apollo/client"

export const LaunchContext = createContext()


export const getStaticProps = async () => {

  const client = new ApolloClient({
    uri: 'https://api.spacex.land/graphql/',
    cache: new InMemoryCache()
  })

  const { data } = await client.query({
    query: gql`
      query GetLaunches {
        launchesPast(limit: 10) {
          id
          mission_name
          launch_date_local
          launch_site {
            site_name_long
          }
          links {
            article_link
            video_link
            mission_patch
          }
          rocket {
            rocket_name
          }
        }
      }
    `
  });

  return {
    props: {
      launches: data.launchesPast
    }
  }
}

const LaunchContextProvider = (props) => {

    return(
        
            {props.children}
        
    )
}

export default LaunchContextProvider

_应用程序。js

import LaunchContextProvider from '../spacexContext'
import '../styles/globals.css'

function MyApp({ Component, pageProps }) {
  return (
    
      
    
  )
}

export default MyApp

关于为什么会出现这个错误以及如何修复它,有什么建议吗?

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
相关帖子