小编wha*_*wee的帖子

如何使用带有 useState 钩子的 React Context 来共享来自不同组件的状态?

我是 React 的新手,目前我正在 Gatsby 站点上工作,在那里我有一个 Layout.js(Parent) 和 Menu.js(Child),当 Menu 上的状态发生变化时,我希望它传递给 Layout.js .

我想要做的是当菜单处于活动状态时,布局中的文本会发生变化。

菜单.js

import React, {useState, createContext} from "react"
const MenuContext = createContext(1)

const Menu = (props) => {
  const [active, setActive] = useState(1)
  const clickHandler = () => {
    setActive(!active);
  }
  return(
    <div className={(active ? `open` : `close`)} onClick={clickHandler}></div>
  )
}

export { Menu, MenuContext }
Run Code Online (Sandbox Code Playgroud)

布局.js

import React, {useContext} from "react"
import { Menu, MenuContext } from "../components/menu"

const Layout = ({ children }) => {

  const …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs gatsby

9
推荐指数
1
解决办法
9132
查看次数

标签 统计

gatsby ×1

javascript ×1

reactjs ×1