【问题标题】:How to re-use code in multiple react-native projects?如何在多个 react-native 项目中重用代码?
【发布时间】:2022-11-21 20:59:44
【问题描述】:

我有很多 react-native 项目,其中大多数在应用程序的许多部分都需要相同的逻辑。就像相同的钩子、相同的 util 函数和相同的组件。

我正在将所有代码复制并粘贴到其他项目。是的,我知道这是一个糟糕的方法。如果我更改某些挂钩中的某些代码,那么我必须用它更新所有项目。这很容易出错

我对如何解决这个问题还不太了解,但我做了一些搜索,我发现

  1. 我可以尝试创建一个 JS 库和一个 git 子模块,并在所有项目中使用它们。
  2. 构建 JS 库并将其发布到 npm。

    我不确定 react-native 如何适用于这两种方法。

    我需要创建 React Native 模块吗?还是做点别的?如果您有一些资源可供阅读,请附上一些资源,因为我在谷歌上找不到太多。

【问题讨论】:

    标签: javascript react-native


    【解决方案1】:

    在分割你的代码之前,确保你区分你的业务逻辑和其他逻辑减少它们的依赖。

    这里的方法可以根据您的用例而有所不同,

    首先关于你需要使用的工具,

    Git 子模块

    Git 子模块有一个陡峭的学习曲线,建议对所有共享代码使用一个 git 子模块,而不是几个子模块,因为 git 子模块有很多问题,比如模块之间的依赖关系,拉入父模块不拉子代码等,并且还有很多

    如果你觉得你的所有代码都可以放入一个子模块而没有依赖问题,你可以尝试这种方法

    你可以在这里找到更多细节npm vs git submodules

    对于其他方法,我们的目标是创建可重用的组件或代码。您的代码作为组件和其他

    对于可共享组件,您可以使用不同的方法,例如:-

    钻头 - 用于组件

    bit - 它也适用于 React Native

    NPM

    react-native-builder-bob反应本机建设者鲍勃也可以帮助您在本机和 javascript 端创建 react-native npm 包。您可以创建组件或本机代码作为包来满足您的项目,如果您的钩子包含与 react native 相关的特定代码,您可以使用 builder-bob

    为了挂钩效用你可以直接创建 npm 包,或者你也可以使用 react-native-builder-bob 但那会是一个开销,因为它会包含 react-native ,

    明智地选择需要多少个包,因为您的组件或实用程序可以像一个集合或单个工作集,这取决于功能,因为所有代码都可以放在单个包或多个包中。

    【讨论】:

      猜你喜欢
      • 2021-11-17
      • 1970-01-01
      • 2010-12-19
      • 1970-01-01
      • 1970-01-01
      • 2018-10-20
      • 2016-06-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多