将 Hook 传递给孙子/多个组件

时间:2021-04-19 18:42:09

标签: javascript reactjs react-hooks use-state

我想知道我是否可以传递多个组件的挂钩。例如,在我的父组件中,我声明了一个钩子并将钩子组件传递给子组件。在那个孩子里,我把那个钩子传给孙子,在孙子里,我设置了钩子的状态。我知道我可以将钩子从父级传递给子级,但不确定是否可以为多个组件执行此操作。

export const Parent = () => {
  const [data, setData] = useState("")

  return(
      <Child data={data}, setData={setData}
   )

export const Child = ({data,setData}) => 
  return(
      <GrandChild data={data}, setData={setData}
  )

export const GrandChild = ({data,setData}) => 
  setData("hi")
  return(
      <div>{data}</div>
  )

2 个答案:

答案 0 :(得分:1)

您可以根据需要多次执行此操作,但有更好的方法来执行此操作,例如 Redux 或 Context API。这些工具用于防止此类冗余操作。

答案 1 :(得分:0)

随着应用程序的增长,这会很快变得混乱,并可能导致发现错误和错误的问题。它被称为支柱钻孔。我强烈推荐以下文档 useContext