Javascript 如何使用Next.js为UserContext.Provider设置值?
我试图为我的Javascript 如何使用Next.js为UserContext.Provider设置值?,javascript,reactjs,next.js,Javascript,Reactjs,Next.js,我试图为我的UserContext.Provider设置一个默认值,并将其打印在一个简单的div中。在这个小测试中,我使用了两个页面,Info.js,UserContext.js // UserContext.js import { createContext } from 'react'; const UserContext = createContext(''); export default UserContext ; //Info.js 从“React”导入React,{us
UserContext.Provider
设置一个默认值,并将其打印在一个简单的div中。在这个小测试中,我使用了两个页面,Info.js
,UserContext.js
// UserContext.js
import { createContext } from 'react';
const UserContext = createContext('');
export default UserContext ;
//Info.js
从“React”导入React,{useContext}
从“./UserContext”导入UserContext
函数信息(){
const msg=useContext(UserContext)
控制台日志(msg)
返回(
你好{msg}
)
}
导出默认信息
我唯一得到的是div中的“hello”。如果我将
createContext(“”)
中的默认值更改为createContext('user')
,则info.js
中的将返回“hello user”
但是我想设置UserContext.Provider的value属性中的值
您的提供程序是如何配置的?您需要一个函数来处理上下文中的状态。您是如何尝试实现这一点的?但我没有状态,我只想打印我给提供程序的值。。。如果这是有意义的,或者我只是错误地使用了它,因为我是新的反应和使用上下文钩子的人,请记住当您调用´´´´´´´´´´´´´´´useContext()´´´´´´时,这将返回状态(或您传递的值)和更新该状态的方法,或者在这种情况下返回reducer。因此,您可能需要接收一个数组而不是单个值:const[msg,updateMessage]=useContext(UserContext)
。如果你只需要一个值,为什么不把它作为道具传递呢?因为我想学习如何使用createContext钩子,我想从做这样简单的事情开始。如果您有任何链接或我可以阅读或观看CreateContextHook的内容,这将非常有用。您的提供者是如何配置的?您需要一个函数来处理上下文中的状态。您是如何尝试实现这一点的?但我没有状态,我只想打印我给提供程序的值。。。如果这是有意义的,或者我只是错误地使用了它,因为我是新的反应和使用上下文钩子的人,请记住当您调用´´´´´´´´´´´´´´´useContext()´´´´´´时,这将返回状态(或您传递的值)和更新该状态的方法,或者在这种情况下返回reducer。因此,您可能需要接收一个数组而不是单个值:const[msg,updateMessage]=useContext(UserContext)
。如果你只需要一个值,为什么不把它作为道具传递呢?因为我想学习如何使用createContext钩子,我想从做这样简单的事情开始。如果您有任何链接或我可以阅读或观看CreateContextHook的内容,这将非常有用。
// Info.js
import React, { useContext } from 'react'
import UserContext from './UserContext'
function Info (){
const msg = useContext(UserContext)
console.log(msg)
return (
<UserContext.Provider value={'user'}>
<div>
hello {msg}
</div>
</UserContext.Provider>
)
}
export default Info