2016-03-03 57 views
0

有沒有辦法確定一個npm包是否與react-native兼容?如何確定npm包是否與react-native兼容?

我讀到,可用於反應原生他們必須有polyfill。這是我能找的東西嗎?

例如: https://www.npmjs.com/package/redux-persist

我學習反應本地和JavaScript。我希望能夠利用現有的npm包的許多。但是,除非軟件包具有「react-native」作爲軟件包名稱的一部分,否則似乎不起作用。

由於提前,

回答

2

更新(2017年8月7日):看一看安德烈Staltz的(staltz/react-native-node)包,它使所有節點封裝,工作反應本土!


據我所知,任何((不))DOM依賴的包應該工作。關於rt2zz/redux-persist包,我只是快速查看它,但似乎他們支持react-native存儲,因爲它們提供了它的說明。

import {AsyncStorage} from 'react-native' 
persistStore(store, {storage: AsyncStorage}) 
+0

聽起來好像沒有任何東西可以用來確定程序包是否與react-native兼容。雖然我期望大多數軟件包不支持react-native,但如果我發現任何「react-native」導入,它可能與react-native兼容。依賴於DOM的軟件包無法使用react-native。你看什麼來確定一個包依賴於DOM? –

+0

有沒有簡單的方法。您只需要查看源代碼。使用實用程序框架(如lodash,下劃線,時刻)可以相當安全。其餘的,我會掃描一些明顯的故事,比如依賴[react-dom](https://www.npmjs.com/package/react-dom),或者掃描引用React。 createElement,React.createClass,React.DOM和其他可能的[DOM相關頂級API](https://facebook.github.io/react/docs/top-level-api.html) –

+0

除了查找DOM依賴關係之外,在包爲NodeJS編寫的情況下,您還應該在依賴關係樹中查找本地Node API對象的使用,例如'fs','path','net'等。 –