Reactjs 在子组件中是否存在从父组件执行React JS钩子的方法?

Reactjs 在子组件中是否存在从父组件执行React JS钩子的方法?,reactjs,react-hooks,Reactjs,React Hooks,我有一个“板”组件,还有另外3个组件:顶栏、沙堆和宝箱 我只希望TopBar组件读取“money”值,而TreasureBox执行money的增量。顶栏正在读取我在板上设置的值,但财务箱似乎并没有执行货币的增量 提前谢谢 Board/index.js: import React, { useState, useEffect } from "react"; import "./index.scss"; import { FaBomb, FaBox, FaFl

我有一个“板”组件,还有另外3个组件:顶栏、沙堆和宝箱

我只希望TopBar组件读取“money”值,而TreasureBox执行money的增量。顶栏正在读取我在板上设置的值,但财务箱似乎并没有执行货币的增量

提前谢谢

Board/index.js

import React, { useState, useEffect } from "react";
import "./index.scss";
import { FaBomb, FaBox, FaFlag } from "react-icons/fa";
import img from "../../assets/ItemsToHide/barrels/barrel1.png";
import TreasureBoxes from "../TreasureBoxes";
import TopBar from '../TopBar';
import SandToHide from "../SandToHide";

const Board = ({ treasureBoxes, randomTop, randomLeft, sand}) => {
  const [money, setMoney] = useState(0);



  return (
    <div className="board-container">
      <TopBar money={money}></TopBar>
    <div className="sand-to-hide-container">
      {sand.map((sandd) => {
        return (
          <SandToHide
            id={sandd.id}
            img={sandd.img}
            randomTop={randomTop}
            randomLeft={randomLeft}
          />

        )
      })}
    </div>
    <div className="treasure-boxes-container">
    {treasureBoxes.map((box) => {
      return(
      <TreasureBoxes
        setMoney={setMoney}
        money={money} 
        id ={box.id}
        bomba = {box.bomba}
        treasureBoxes={treasureBoxes}
        randomTop={randomTop}
        randomLeft={randomLeft}
        />
      )
    })}
      </div>
    </div>
  );
};

export default Board;
import React,{useState,useffect}来自“React”;
导入“/index.scss”;
从“react icons/fa”导入{FaBomb、FaBox、FaFlag};
从“../../assets/ItemsToHide/barkes/barrel1.png”导入img;
从“./财务箱”导入财务箱;
从“../TopBar”导入TopBar;
从“./SandToHide”导入SandToHide;
const Board=({books,randomTop,randomLeft,sand})=>{
const[money,setMoney]=useState(0);
返回(
{sand.map((sandd)=>{
返回(
)
})}
{box.map((box)=>{
返回(
)
})}
);
};
导出默认板;

只需确保在您的PrecureBoxs组件中有一个回调(如果您为它提供了代码,那么回答您会更容易):


setMoney(e.target.value)}/>
尝试将
useContext
视为一个可以在所有组件中访问的全局数据。我更改了代码,因为它变得太脏了,但您的答案解决了我提出的这个问题。非常感谢你,DoneDeal0!