美文网首页
react typescipt hook 实现父组件调用子组件(

react typescipt hook 实现父组件调用子组件(

作者: _嘿嘿_ | 来源:发表于2022-02-11 17:45 被阅读0次

    子组件

    export interface MychildRef {
      childClick: () => void;
    }
    const Test = (props: {}, ref: React.Ref<MychildRef>) => {
      const {
        data: userInfo,
        loading,
        run,
      } = useRequest(getUserInfo, {
        manual: true,
      });
      useImperativeHandle(ref, () => ({
        childClick: () => {
          clickHandle();
        },
      }));
      const [flag, { toggle }] = useBoolean(true);
      const clickHandle = () => {
        let text = flag ? "大可" : "小涛";
        run(text);
        toggle();
      };
    
      return (
        <>
          <button onClick={clickHandle}>点击</button>
          {loading ? <div>loading...</div> : <div>Username: {userInfo?.name}</div>}
        </>
      );
    };
    export default forwardRef(Test);
    

    父组件调用

    function App() {
      const inputEl = useRef<MychildRef>(null);
      const clickChildHandle = () => {
        inputEl.current?.childClick();
      };
      return (
        <div className="App">
            <button onClick={clickChildHandle}>点击儿子节点</button>
            <Test1 ref={inputEl}></Test1>
        </div>
      );
    }
    

    相关文章

      网友评论

          本文标题:react typescipt hook 实现父组件调用子组件(

          本文链接:https://www.haomeiwen.com/subject/lyqzkrtx.html