从React应用程序外部访问Component方法

Accessing Component method from outside the React app

本文关键字:Component 方法 访问 外部 React 应用程序      更新时间:2023-09-26

我有一个React/Redux应用程序和一个组件。

不幸的是,我不得不使用第三方库,该库需要从React应用程序中触发函数。

class Account extends React.Component {
  doSomething(){
    // Do react things
  }
  render{
    return()
  }
}

现在,我有一些HTML,我对其控制有限,被插入到DOM中。这不是iFrame。

<button onClick="doSomething()">interact with react</button>

有什么方法可以从React之外触发doSomething()方法吗?我需要ReactApp.Account.doSomething()这样的东西。

如果我理解正确,在React/Redux应用程序中执行您想要的操作的正确方法是向商店发送新操作,并相应地注册您的事件处理。

<button onClick="store.dispatch(createAction())">interact with react</button>

除非迫不得已,否则不要试图在React组件内部找到"破解"的方法。由于你已经有了类似Flux的模式,所以忽略它是不好的。尽管这种方法的设置可能会稍微复杂一些,正如@Kovensky在评论中提到的那样。