1

私は最近、React Nativeを使ってWebスクレイピングを含むアプリを操作し始めました。私たちはObj-CのUIWebViewBridgeライブラリに似ていますが、いくつか問題があるReactネイティブWebView Bridgeというコンポーネントを使用しています。 React Nativeは非同期であるため、WebView Bridgeでレンダリング機能を頻繁に、かつ予期せず呼び出しているという点で、情報を返すのに問題がありました。 WebView Bridgeモジュールは、注入されたJavaScriptを1回呼び出すことがあり、時には3回呼び出すこともあります。React Nativeを使用してWebスクレイプしてJavaScriptを挿入する最良の方法は?

リアクションネイティブで効果的に情報をスクラップしてJavaScriptを有効に注入する方法はありますか?

ここには、私が使用したReact NativeのWebViewBridgeへのリンクがあります。

答えて

4

私はcheerioを使ってWebサイトのHTMLコンテンツを解析し、それをJSONに変換し、それを使ってReactコンポーネントにフィードしました。このようにして、ハイブリッドWebアプリケーションだけでなく、React Nativeを使用する利点が得られます。

あなたはネイティブアプリを反応させるの本での例を見つけることができます。https://github.com/stan229/ClubReadyApp

+0

あなたはこの – metacore

+0

を使用してWeb要素を操作することができますが、もう少し具体的な操作上のことはできますか? HTMLにDOMをレンダリングすることはありませんが、いくつかの属性(たとえば、class、id、innerHTMLを変更するなど)を追加したい場合は可能です。私が従うワークフローでは、HTML文書から必要なデータを取り出し、それを使ってコンポーネントをレンダリングし、React Nativeを使用してビジネスのやりとりを処理することをお勧めします。 – stan229

+0

申し訳ありません。私が操作するということは、このアプローチを使用してJavaScriptを注入できますか?たとえば、ボタンをクリックするか、テキストフィールドに何かを入力します。 Reactのレンダリングメソッドで複数回呼び出されたスクリプトを挿入せずにこれを実行できるようにしたいと考えています。それは少し明確ですか? – metacore

関連する問題