react使用useImperativeHandle实现父级调用子集组件的方法
                
        
                
        React
                
        2024-01-03 09:03:32
            
组件是开发中不可缺少的部分,通过对组件的合理使用可以极大便捷的进行代码开发。通过对组件的使用,关于父级中调用组件方法也就成了不可避免的功能。
那么在react中我们可以如何实现在父级调用定义在子集组件组件中的方法呢?
本篇就来介绍在如何使用useImperativeHandle实现父级调用子集组件暴露的方法。
父级页面代码如下:
import { useState,useEffect,useRef } from "react";
import React from 'react'
import EditMode from "./EditMode"
export default function overviewPage() {
  const refreshFun:any = useRef();
  const refresh = () =>{
	  //调用组件方法
	  refreshFun.current.test();
  }
  const refresh1 = () =>{
  	  //调用组件方法
  	  refreshFun.current.test1();
  }
  return (
    <div className="base_page">
		<div onClick={() => refresh()}>刷新</div>
		<div onClick={() => refresh1()}>刷新1</div>
		<EditMode ref={refreshFun}/>
    </div>
  );
}组件页面代码如下
import { useImperativeHandle,forwardRef } from "react";
const LayoutHeader = ({},ref:any) => {
  useImperativeHandle(ref, () => ({
    test,
    test1: () => {
		console.log('2222')
    }
  }));
  const test = () =>{
	  console.log("test")
  }
  return (
    <div>子页面</div>
  );
};
export default forwardRef(LayoutHeader);注意点:
    forwardRef:在组件中需要使用forwardRef
    useImperativeHandle:需要暴露出去的方法
 六月初字帖坊小程序 
		    
		     你想要的字帖模板及工具,这里都有!
		    
		        六月初字帖坊小程序 
		    
		     你想要的字帖模板及工具,这里都有! 
		
				896篇文章
				1793人已阅读
			
			
			
		 
				         六月初
六月初