TypeError: _nextProps.children is not a function
TypeError: _nextProps.children is not a function
我正在尝试将 react context 与 nextJS 结合使用,但出现此错误:
Server Error
TypeError: _nextProps.children is not a function
我的_App.js:
import Head from "next/head";
import Router from "next/router";
import { Provider } from "next-auth/client";
import DataContextProvider from "../data/data-context";
import Layout from "../components/layout/layout";
import "../styles/globals.css";
function MyApp({ Component, pageProps }) {
return (
<Provider session={pageProps.session}>
<DataContextProvider>
<Layout>
<Head>
<meta name="description" content="Uploader" />
<meta
name="viewport"
content="initial-scale=1.0, width=device-width"
/>
</Head>
<Component {...pageProps} />
</Layout>
</DataContextProvider>
</Provider>
);
}
export default MyApp;
找遍了都没有找到解决办法,谢谢解答
在您的项目中搜索 props.children(不区分大写)
您可能假设该组件有子组件,但实际上它没有
您可能会收到此错误的一个原因是您尝试呈现上下文本身,而不是上下文提供程序。
这在服务器端失败并出现错误 TypeError: _nextProps.children is not a function
,如果在客户端出现错误 TypeError: render is not a function
:
import { createContext } from 'react';
const Context = createContext('');
function App() {
return <Context value="" />
}
改为渲染提供程序将起作用:
function App() {
return <Context.Provider value="" />
}
在你的具体例子中,你这样做
import DataContextProvider from "../data/data-context";
并渲染
<DataContextProvider>
...
</DataContextProvider>
有没有可能你所说的DataContextProvider
实际上只是一个上下文?不看data/data-context
.
里面的代码是不可能知道的
我正在尝试将 react context 与 nextJS 结合使用,但出现此错误:
Server Error
TypeError: _nextProps.children is not a function
我的_App.js:
import Head from "next/head";
import Router from "next/router";
import { Provider } from "next-auth/client";
import DataContextProvider from "../data/data-context";
import Layout from "../components/layout/layout";
import "../styles/globals.css";
function MyApp({ Component, pageProps }) {
return (
<Provider session={pageProps.session}>
<DataContextProvider>
<Layout>
<Head>
<meta name="description" content="Uploader" />
<meta
name="viewport"
content="initial-scale=1.0, width=device-width"
/>
</Head>
<Component {...pageProps} />
</Layout>
</DataContextProvider>
</Provider>
);
}
export default MyApp;
找遍了都没有找到解决办法,谢谢解答
在您的项目中搜索 props.children(不区分大写) 您可能假设该组件有子组件,但实际上它没有
您可能会收到此错误的一个原因是您尝试呈现上下文本身,而不是上下文提供程序。
这在服务器端失败并出现错误 TypeError: _nextProps.children is not a function
,如果在客户端出现错误 TypeError: render is not a function
:
import { createContext } from 'react';
const Context = createContext('');
function App() {
return <Context value="" />
}
改为渲染提供程序将起作用:
function App() {
return <Context.Provider value="" />
}
在你的具体例子中,你这样做
import DataContextProvider from "../data/data-context";
并渲染
<DataContextProvider>
...
</DataContextProvider>
有没有可能你所说的DataContextProvider
实际上只是一个上下文?不看data/data-context
.