2017-02-09 2 views
1

J'importe une bibliothèque dans un projet ReactNative qui utilise environ document environ 50 fois. Parce ReactNative, n'utilise pas un document, je vais devoir réécrire ces lignes pour qu'il fonctionne dans un environnement ReactNative. La question est ..Est-il possible d'écrire un shim pour une bibliothèque existante qui utilise `document` tout en le gardant vierge?

Est-il possible de créer une cale pour que la bibliothèque d'origine soit entièrement intacte?

Je devrais réécrire des lignes comme document.body, document.createElement et document.appendElement. Je suppose que document.body pourrait juste être ma classe de conteneur racine, et les deux autres méthodes sont explicites. Parce que je n'ai jamais rien vu de tel auparavant, je ne fais que deviner. Serait possible d'importer la bibliothèque, puis lier document en tant que ReactNative component afin que le composant remplace le document dans toutes ses mentions?

The JS file in question.

Répondre

1

Bien qu'il soit possible de caler un objet document dans la portée globale, je serais prêt à parier de l'argent bon il n'y a aucun moyen que vous obtiendrez ce composant à travailler dans React autochtone. Il est trop couplé aux API de navigateur natives pour être réalisable. Au lieu de cela, je chercherais à exécuter la fonctionnalité à l'intérieur d'un WebView, ou de trouver une solution alternative à ce que vous essayez d'atteindre.

Il semble que Kandy, la bibliothèque que vous essayez d'utiliser, propose des SDK iOS et Android. une solution pourrait être de relier les SDK natifs à React Native.

+0

Merci pour le conseil. Je vais essayer de l'alimenter avec un WebView. – Trip

+0

Je viens d'éditer ma réponse. Kandy a iOS et Android SDKs - peut-être vous pouvez les relier à React Native – jevakallio

+0

Ils disent qu'ils ont "SDK". Mais ils sont en fait des exemples de projets avec 2 .frameworks de 2 ans. Essayer de les importer entraîne toutes sortes d'erreurs de conversion. Question rapide cependant .. Je vois quelques informations sur l'incorporation de pods dans un projet RN existant. Serait-il possible, au lieu d'un Pod, d'injecter dans un .framework à la place? – Trip