私は古典的なHTML/CSS/jQueryで書かれたWebアプリケーションを持っています。私は非常にインタラクティブである必要がある(Facebookのチャットオーバーレイに似た)チャットオーバーレイを書いています。私は最初にVueを使ってこれを書いていましたが、学習目的でReactを使って書き直すことにしました。そして、私はある特定の部分で立ち往生しています。javascript/jqueryのReactJSコンポーネントとのやりとり
私はChatOverlay
というコンポーネントを持っています。このコンポーネントは、ページに表示されるすべての会話を処理します。このChatOverlayをid='chat-footer'
のdivにレンダリングします。これは、ページにオーバーレイする固定要素です。
const element = <ChatOverlay name="Testing" conversationId="a6b9bc89-b9ff-4eb1-86d8-ac5986fb5cbe"/>;
ReactDOM.render(
element,
document.getElementById('chat-footer')
);
しかし、「環境」の外から反応コンポーネントとやりとりする方法はわかりません。たとえば、ユーザーのプロフィールに「チャット」というボタンが表示されている可能性があります。たとえば、次のjQueryのクリックイベントハンドラを検討:Vueので
$('.chat-button').on('click', function(){
//I need to tell the react app to open another conversation
});
を、クリックハンドラで、私は簡単しかし、私はわからないんだけど、Vueの者の「環境」でのいくつかのアクションを実行することができVueの関数を呼び出すことができますReactで同じことを達成する方法。アドバイスをいただければ幸いです。
Myボタンは反応しないため、シンタックスは機能しません。ボタンはページ上で完全に分離されています。私が言ったように、ページの90%は古典的なHTML/jQueryであり、反応を使っているのはちょうどチャットオーバーレイです。私が投稿した解決策を見つけました – Brad