需要 master 分支的 react-native 特性

Needing react-native features from master branch

我正在通过 NPM install/update 方法基于最新的 0.15.0 版本开发 react-native 应用程序。通过本机 MapView documentation 查看它似乎应该支持 "annotations" prop 中的 "image" prop 和 MapView 中的 "overlays" prop。但是,这些道具在我的 RN 版本中不起作用。

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

有什么想法吗?

我能想到的一种方法是 git 在我的 npm node_modules 中提取 master 分支并覆盖 react-native 模块。但是,这似乎太过分了,我还会引入许多需要删除的不需要的部分。

另一种思路是手动拷贝master分支的MapView组件和对应的iOS原生文件RCTMap…结束,但显得不够优雅和乏味。

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

您应该能够在 package.json 中指定 git 依赖项,如下所示:

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

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

(请注意,此策略不适用于某些包,例如 react 本身,它们需要在 npm 之前进行构建,但 react-native 应该可以正常工作。)

您可以在本地克隆 React Native 的存储库并将其安装到您的项目中:

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

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

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