代码之家  ›  专栏  ›  技术社区  ›  Somangshu Goswami

React 60.0及以上版本的React native Fabric autolink错误

  •  0
  • Somangshu Goswami  · 技术社区  · 7 年前

    我已经升级到了我的应用程序react native 60.4,它支持自动链接所有软件包,这样你就不必手动进行设置,从而降低出错的几率。

    问题是大多数软件包仍然无法与此过程兼容,从此应用程序完全崩溃。

    我的错误是 https://github.com/corymsmith/react-native-fabric

    指同一回购协议中的一个问题-> https://github.com/corymsmith/react-native-fabric/issues/225 ,但仍然没有答案。

    我开始尝试通过分叉repo并理解react native提供的自动链接过程。

    在我替换的节点模块包package.json中

    "rnpm": {
        "android": {
         "packageInstance": "new FabricPackage()"
        }
    },
    

    文件在根react-native.config.js包中

    module.exports = {
      dependencies: {
        'react-native-fabric': {
            platforms: {
                android: {
                    "packageImportPath": "import com.smixx.fabric.FabricPackage;",
                    "packageInstance": "new FabricPackage()"
                }
            }
        }
      }
    };
    

    我还将build gradle从3.1.0更新为3.4.1

    我的react本机应用程序现在能够找到包。

    但是当我调用react组件中的包时,我得到NoClassDefFoundError,这意味着找不到类。

    其他人都试过了,请告诉我解决办法。

    0 回复  |  直到 7 年前
        1
  •  1
  •   SmoggeR_js    7 年前

    尝试取消与react native unlink的链接,然后再次重新运行代码。

        2
  •  1
  •   Somangshu Goswami    7 年前

    从上面的评论来看更清楚:

    好的,我通过更改分叉repo->(使用自动发现和链接配置在包的根目录中添加一个react-native.config.js)来实现这一点,但我认为我现在看到的唯一可伸缩解决方案是降级到RN^59.0,因为不是很多包都有自动链接配置更改。因此,将等待RN60.4成熟,然后在大约一个月内升级到它。除此之外,该结构目前正在迁移到firebase,并计划在年底前完成。这意味着无论如何,sdk集成都将过时,因此这个包也将过时。

    此外,这个问题主要与反应天然织物而不是RN本身有关。

    推荐文章