如何从另一个功能性反应组件中调用一个功能性反应组件的方法?

时间:2020-07-09 07:00:34

标签: reactjs typescript components

我正试图从另一个功能组件中调用功能组件的 showDrawer 方法。 最佳做法是什么?另一个功能组件是包装器。 谢谢!

  const TopSide = () => {
    const [visible, setVisible] = useState(false);
    const [key, setKey] = useState("1");

    const showDrawer = () => {
       console.log(key);
       setVisible(true);
    };

    const onClose = () => {
      setVisible(false);
  };

  [.....]

    }

1 个答案:

答案 0 :(得分:0)

如果您想将一个组件的状态从另一个组件更改为其他状态,则应“提升”状态以及处理该组件的事件。


    const showDrawer = () => {
       handelShowDrawer ()
    };

    const onClose = () => {
      setVisible(false);
  };

    }
Wrapper= ()=>{

    const [visible, setVisible] = useState(false);
   

    const handelShowDrawer = () => {
     
       setVisible(true);
    };

    const handelClose = () => {
      setVisible(false);
  };
 <TopSide handelShowDrawer={handelShowDrawer} onDrawerClose={handelClose} visible/>
  
}