繁体   English   中英

未声明上下文错误使用上下文挂钩与 next.js 反应

[英]Not declared context error using context hook in react with next.js

只是在这个带有钩子的基本实现方面寻求一些帮助。 我目前正在使用 Next.js 并希望在 _app.js 文件中设置一个上下文,以使其可用于整个组件树。

import React from "react";

function MyApp({ Component, pageProps }) {
  const dataContext = React.createContext()
  return (
    <dataContext.Provider value = 'just some text'>
      <Component {...pageProps} />
    </dataContext.Provider>
  )
}
export default MyApp

然后在 index.js 中,添加组件 loginForm.js,代码如下:

import React from "react";

function LoginForm (props) {

  const info = React.useContext(dataContext)
  const onSubmit = () => console.log(info)

return (
    <form onSubmit={handleSubmit(onSubmit)}>
      <button type="submit">click here</button>
   </form>
)
}

现在在控制台中,我收到一条错误消息“未声明 dataContext”

显然上下文存在

  • 显然,上下文存在 -

这太简单了,我什至不知道如何解决这个问题,任何帮助将不胜感激。

React.createContext()组件外:

import React from "react";

const DataContext = React.createContext();

function MyApp({ Component, pageProps }) {
  return (
    <DataContext .Provider value="just some text">
      <Component { ...pageProps } />
    </DataContext.Provider>
  );
}

export default MyApp;

index.js 中的 dataContext 是什么?

 const info = React.useContext(dataContext)

我想你忘了导入上下文

让 d = useMyContextHook() const draw = d? d.draw:null

这为我解决了

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM