【问题标题】:Needing react-native features from master branch需要来自 master 分支的 react-native 功能
【发布时间】:2016-03-04 22:49:54
【问题描述】:

我正在通过 NPM 安装/更新方法基于最新的 0.15.0 版本开发 react-native 应用程序。查看 react-native MapView documentation 似乎它应该支持 MapView 中的“注释”道具和“叠加”道具中的“图像”道具。但是,这些道具在我的 RN 版本中不起作用。

在浏览了 react-native GitHub 中的各个分支后,我发现 MapView 中只有 master 分支具有这些属性(参见 this)。因为我通过 NPM 跟上 RN 的发布。我不清楚如何针对 RN master 分支进行开发。

有什么想法吗?

我能想到的一种方法是在我的 npm 的 node_modules 中对 master 分支进行 git pull 并覆盖 react-native 模块。但是,这似乎很激烈,我还会引入许多需要删除的不需要的部分。

另一种思路是手动将master分支的MapView组件和对应的iOS原生文件RCTMap……复制过来,但是这样看起来不优雅又乏味。

在这里寻找更优雅的解决方案。

【问题讨论】:

标签: github react-native master


【解决方案1】:

对于那些处于类似位置,但出于某种原因不愿意或无法跟随主分支的人,您可以考虑等待功能。

来自主要贡献者之一(释义):React Native 大约有 2 周的节奏。发布候选 (rc) 在开始循环的某个点从 master 派生。两周后,它被提升为发布,并从当前的 master 状态创建一个新的候选发布。然后重复该循环。您希望使用的 MapView 功能应显示在下一个 rc 中。

【讨论】:

    【解决方案2】:

    你应该可以在你的 package.json 中指定一个 git 依赖,像这样:

    "dependencies": {
      "react-native": "facebook/react-native",
    },
    

    npm 将在安装时自动克隆 repo。如果您想固定到特定的提交(强烈推荐),请执行facebook/react-native#f025049b

    (请注意,此策略不适用于像 react 本身这样需要在 npm 之前构建步骤的包,但 react-native 应该像这样正常工作。)

    【讨论】:

    • 这不适用于单独发布的原生 Android 代码:bit.ly/1NnxrGl。它适用于 npm / github repo 中的 JS 和 Obj-C 代码。我们不从源代码构建 Android 代码的原因是这样做的成本相当高,而且快速构建对于开发人员体验非常重要。
    【解决方案3】:

    您可以在本地克隆 react native 的 repo 并将其安装到您的项目中:

    > git clone https://github.com/facebook/react-native.git
    > cd MyProject
    > npm install ../react-native
    

    【讨论】:

      猜你喜欢
      • 2010-12-04
      • 2018-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-12
      • 2018-03-08
      • 2022-01-17
      相关资源
      最近更新 更多