我可以从 node_modules 更改我在 react-native 项目中下载的组件吗?

Can I change a component I downloaded in react-native project from node_modules?

我想使用有点过时的模块 react-native-numbers-please(上次更新是 2 年前),但它不起作用。我认为这是因为它使用了来自 react-native 的 Picker。我在模块的 NumbersPlease.tsx 中更改了它,这是导出组件的主文件。

所以我已经将它更新为使用 @react-native-picker/picker 中的 Picker 作为警告消息中建议的反应,但我认为它没有任何改变,因为我仍然收到完全相同的警告(Picker 已经从 react-native 核心中提取并将在未来的版本中删除...)。

我试过重新启动 npm 服务器,但没有任何改变。

我还需要做些什么来让 react-native 识别我已经更改了模块,还是它根本不起作用?

提前致谢!

npm uninstall packName
npm install packageName

然后开始你的项目

确保在您执行运行此命令时服务器已关闭。

如果它不起作用reset-cache 尝试从 npm start -- --reset-cache
expo r -c ///如果你正在使用 expo

您可以开始在 node_modules 文件夹中编辑它,然后修补程序包。然后你需要运行下面的命令来给包打补丁:

npm install -g patch-package
patch-package <module name>

这将在项目的根目录下创建一个名为 patches 的文件夹。然后在脚本下的 package.json 文件中添加以下脚本:

"scripts": {
    ....
   "postinstall": "patch-package"
}

从现在开始,当您运行安装时,它也会对原始文​​件应用补丁。