2017-09-06 1 views
1

私はjs/html/cssで構築されたアプリケーションを反応アプリケーションにリファクタリングしようとしています。フロントエンドのHTMLを反応コンポーネントに移動しましたが、アプリケーションの実際の機能を制御するjs/jqueryに問題があります。すべてを書き直すことなく、新しいアプリケーションに古いjsとjqueryを統合する良い方法は何でしょうか?js/html/cssアプリケーションをリファクタリングする

+1

こんにちは、これはあまりにもスタックオーバーフローのための質問の広いです。具体的な例を投稿するともっと遠くになるかもしれません。 –

+0

@RobMに同意します。また、jQueryと反応を組み合わせることはできますが、それは良いアプローチではありません。このトピックに関するいくつかの記事を見つけることができます。 – bennygenel

答えて

2

あなたはかなり書き直す必要があります、私は恐れています - 私は前にこの正確な位置にいました。

問題は、jQueryがDOMを直接操作することです。つまり、ユーザーがボタンをクリックしてDOMの一部を変更して、アプリケーションの新しい状態を反映させることです。

Reactは非常に異なっています。内部アプリケーションをDOMに変換する方法を教えてください。DOMを操作する方法が分かります。ユーザーがボタンをクリックすると、内部的に管理されている状態オブジェクトが更新され、ReactがDOMにどのように関係するかを知っているためDOMが変更を処理します。

これは、アプリを書くための2つの全く異なる方法です。良い方法:コンポーネントへの既存のアプリ(ボタン、フォーム、ウィジェット、ナビゲーションバー)

  • ダウン

    • ブレイク互いに「に話を」どのコンポーネントを把握し、階層
    • の使用を作成するようにしてくださいReuxのようなライブラリは、反復コンポーネントの状態を使用するのではなく、内部の状態を管理するために使用されます。

    幸い!

  • +0

    ありがとうございます。私の問題は、アプリケーションのフロントエンド全体が基本的に多くのpath要素を持つ1つのsvgであるということです。js/jqueryは、モーダルを開き、要素の上に要素を追加するなど、ユーザーがsvgをクリックすると発生するすべてを処理します。私はsvgをレンダリングすることに関係するもの以外にどのような他のコンポーネントがあるのか​​よく分かりません。私はそれがかなり漠然としていることを知っていますが、あなたは反応/還元の中でこれにアプローチする方法についてアドバイスをしていますか? – Wilson

    0

    ReactでjQueryを使用することができますが(コンポーネントがマウントされている限り)、最初から書き直すことを強くお勧めします。私は、jQueryに慣れていたが、Reactについて懸念していて、悪夢に変わったため、主にReactコンポーネントにJQueryが混在しているチームで働いていました。

    あなたのアプリをコンポーネントに分割し、Reactに書き込むことについてのDuncanのアドバイスに従ってください。

    関連する問題