pages/index.js
import React, { useState, createContext } from 'react'
import Header from '../components/Header'
export const MylistContext = createContext({});
export default function Home(list) {
const color = { color: 'blue' }
return (
<>
<Head><title>Home</title></Head>
<MylistContext.Provider value={color}>
<Header />
</MylistContext.Provider>
<>
}
Header 头部
import React, { useState, useEffect, useContext } from 'react'
import { MylistContext } from '../pages/index'
const Header = () => {
const { color } = useContext(MylistContext)
console.log(MylistContext)
console.log(color)
return(
<div></div>
)
}
死活拿不到color,我🤮吐了。

最后发现 ,是自己点进的页面根本不走index.js页面,而是list.js页面,list.js没有写
Usecontext 钩子,所有就一直取到空,如果点击首页是可以拿到context的传给header的值的。 蠢哭了:😒

在尝试使用`createContext`和`useContext`进行状态管理时,遇到在`Header`组件中无法获取到颜色值的问题。问题出在当前路由的入口文件`list.js`未正确使用`useContext`钩子,导致`Header`组件始终接收不到上下文传递的值。当直接访问首页时,由于`index.js`正确设置了`useContext`,所以能正常获取到颜色。
786

被折叠的 条评论
为什么被折叠?



