在下一步中使用上下文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
关于为什么会出现这个错误以及如何修复它,有什么建议吗?
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报