当前位置: 首页> 财经> 金融 > 长沙百度提升排名_东莞营销网站建设哪个平台好_个人网页在线制作_seo网站推广软件排名

长沙百度提升排名_东莞营销网站建设哪个平台好_个人网页在线制作_seo网站推广软件排名

时间:2025/9/10 16:35:42来源:https://blog.csdn.net/qq_51196135/article/details/145775463 浏览次数:0次
长沙百度提升排名_东莞营销网站建设哪个平台好_个人网页在线制作_seo网站推广软件排名

场景需求:A B 两组件,当 A组件(如添加、删除、更新数据)后需要刷新 B组件 表格数据时,或需要在特定时机强制更新表格数据时,这是一种很常见的 React 组件间通信模式,通过 ref 暴露必要的方法给父组件使用。

1、单页面

import  { useRef } from 'react'

const tableRef = useRef<HTMLTableSectionElement>(null)

<div  ref={tableRef}> xxx </div>

2、多页面

1.子组件暴露ref

 
export type TranslationTableRef = { refresh: () => void }useImperativeHandle(ref, () => ({refresh: mutate,}))const { data: translationRecord, mutate } = useSWR({action: 'FetchTranslationUsageData',params: query,},params => translationsListApi(params.params),{ refreshInterval: 3000 },)

2.父组件接收

//父组件import type { TranslationTableRef } from './xxx'const tableRef = useRef<TranslationTableRef>(null)<DocumentUploader transRecordTableRef={tableRef.current}/>     //需要调用的子组件<TransRecordTable ref={tableRef} />                            //被调用的子组件

3.调用

export default function DocumentUploader({ transRecordTableRef }: { transRecordTableRef: TranslationTableRef | null }) {xxxconst handleOk = async () => {try {await xxxApi({params: {xxx:xxx},})transRecordTableRef?.refresh()}finally {xxx}}}

关键字:长沙百度提升排名_东莞营销网站建设哪个平台好_个人网页在线制作_seo网站推广软件排名

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: