如何在打字稿中调用函数反应子组件

时间:2020-12-28 15:36:23

标签: javascript reactjs asp.net-mvc typescript react-typescript

我有一个 Asp.net MVC 应用程序,带有 JQuery 和许多第三方 js 库。我在其中添加了一个 react 应用程序,并使用 react Portals,在多个页面中显示 react 组件。

我的 React 应用程序有一个路由器,每个路由器都加载一个页面和后续的子组件,每个组件都有自己的功能。

我想从 MVC 应用中调用一个组件函数,我该怎么做?

目前,我导出了一个 react app 的实例并将其添加到窗口中,所以我可以从 mvc 应用程序访问 app.js,我也可以很容易地从外部调用一个简单的函数,所以我可以将函数名称、组件名称和参数作为简单的字符串传递,然后设置 app.js 状态并将其传递给孩子

问题是默认情况下我不想对所有组件使用REF或ForwardRef,我想从外部传递组件,并确定该特定组件的哪个函数,使用/不带参数

是否有任何解决方案可以我从父级调用反应组件方法而不转发子级引用?类似这样的伪代码

 export default class MyReactApp extends React.Component<Props, States> {
 constructor(props: Props | Readonly<Props>) {
    super(props);
 }
 
 CallChildFunction(componentName: string, methodName: string, args: Array<string>){
      const child = new componentName()
      const func = new Function(methodName)
      func(args)
 }

 }

感谢任何帮助

0 个答案:

没有答案
相关问题