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

时间:2016-08-09 08:17:55

标签: javascript reactjs scope redux

我有一个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()这样的东西就是我所需要的。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,在React / Redux应用程序中执行所需操作的正确方法是将新操作发送到商店并相应地注册您的偶数处理。

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

除非必须,否则不要试图在React组件中找到“破解”的方法。既然你已经有了类似Flux的模式,那么忽略它就不好了。正如@Kovensky在评论中所提到的那样,即使你使用这种方法设置起来也会稍微复杂一些。