如果我打算使用React Native創建移動應用程序(因爲某些代碼可以重複使用,開發速度可能快得多),我是否可以通過將ReactJS用於前端獲得優勢?如果我使用ReactJS創建Web應用程序,是否可以重新使用代碼來構建具有React Native的移動應用程序?
或者如果它是ReactJS,Vue或Angular 2,那麼它沒有關係,只要我使用Javascript,以便我仍然可以重用React本機代碼?
如果我打算使用React Native創建移動應用程序(因爲某些代碼可以重複使用,開發速度可能快得多),我是否可以通過將ReactJS用於前端獲得優勢?如果我使用ReactJS創建Web應用程序,是否可以重新使用代碼來構建具有React Native的移動應用程序?
或者如果它是ReactJS,Vue或Angular 2,那麼它沒有關係,只要我使用Javascript,以便我仍然可以重用React本機代碼?
是的,您可以,但您必須採用高階組件(HOC)無狀態功能組件才能完全重用您的代碼。
差異:
基本上,ReactJS並反應本地幾乎是相同的,除了它們的組件。因此,重用代碼的最佳方式是使用HOC創建單獨的獨立組件,可以使用無狀態功能組件從兩端調用HOC。
您可以使用本機作出反應的platform-specific extensions功能來自動加載特定於平臺的JavaScript模塊。然後,您需要將所有常用代碼放入常規JavaScript模塊中,並在具有相應擴展的模塊中提供特定於平臺的實現。
您可以在此處查看如何操作Code sharing between React and React Native applications