Javascript 从React应用程序外部访问组件方法
我有一个React/Redux应用程序和一个组件 不幸的是,我必须使用第三方库,它需要从React应用程序中触发函数Javascript 从React应用程序外部访问组件方法,javascript,reactjs,scope,redux,Javascript,Reactjs,Scope,Redux,我有一个React/Redux应用程序和一个组件 不幸的是,我必须使用第三方库,它需要从React应用程序中触发函数 class Account extends React.Component { doSomething(){ // Do react things } render{ return() } } 现在我有了一些我控制有限的HTML,被插入到DOM中。这不是一个iFrame <button onClick="doSomething()">
class Account extends React.Component {
doSomething(){
// Do react things
}
render{
return()
}
}
现在我有了一些我控制有限的HTML,被插入到DOM中。这不是一个iFrame
<button onClick="doSomething()">interact with react</button>
与react交互
有没有办法从React外部触发
doSomething()
方法?类似于ReactApp.Account.doSomething()
的东西是我所需要的。如果我理解正确,在React/Redux应用程序中执行您想要的操作的正确方法是向应用商店发送新操作,并相应地注册您的事件处理
<button onClick="store.dispatch(createAction())">interact with react</button>
与react交互
除非必须,否则不要试图找到一种方法来“破解”React组件内部。因为你们已经有了类似通量的模式,所以忽略它是不好的。尽管该方法的设置可能会稍微复杂一些,正如@Kovensky在评论中提到的。如果我理解正确,在React/Redux应用程序中执行您想要的操作的正确方法是向应用商店发送新操作,并相应地注册您的事件处理
<button onClick="store.dispatch(createAction())">interact with react</button>
与react交互
除非必须,否则不要试图找到一种方法来“破解”React组件内部。因为你们已经有了类似通量的模式,所以忽略它是不好的。尽管该方法的设置似乎稍微复杂一些,正如@Kovensky在评论中提到的。检查这个问题检查这个问题如果他使用的是bundler,
store
或createAction
可能无法作为globals提供。他应该在窗口
中定义一个函数,由onclick
调用,该函数将执行分派。如果他使用捆绑程序,存储
或创建操作
可能无法作为全局函数使用。他应该在窗口
中定义一个函数,由onclick
调用,该函数将执行分派。