【问题标题】:react-native-web update: TypeError: Cannot read property 'style' of undefinedreact-native-web 更新:TypeError:无法读取未定义的属性“样式”
【发布时间】:2021-09-07 09:29:42
【问题描述】:

注意:我的应用程序可以在我的 ../common/package.json 依赖项中使用 "react-native-web": "^0.11.*" 顺利编译和运行。

--

变化

更新 ../common/package.json -> "react-native-web": "^0.11.*""react-native-web": "^0.17.*"

重新启动过程(清理、安装、构建)后,应用程序现在在启动时显示此错误:

错误

TypeError: 无法读取未定义的属性“样式”

../common/node_modules/react-native-router-flux/src/Router.js

244 | ...
245 | sceneStyle: _reactNative.ViewPropTypes.style, 
246 | ...

...由于 react-native-web 更新,涉及 ViewPropTypes 现在未定义。

--

问题:当 react-native-web(或其他依赖项)依赖项更新导致另一个依赖项出错时,解决这些问题的方法是什么?

【问题讨论】:

    标签: react-native dependencies typeerror updates react-native-web


    【解决方案1】:

    可能的解决方案/快速修复

    上述错误可以通过从库中删除任何 ViewPropTypes 用法来解决,或者通过在 ViewPropTypesundefined 时模拟 ViewPropTypes 功能来解决。

    例如,针对我的情况,以下修复已解决了Router.js(第 135 行)中的上述错误: sceneStyle: ViewPropTypes ? ViewPropTypes.style : PropTypes.object

    Router.js 的这个修复似乎使react-native-router-fluxreact-native-web v0.12+ 一起工作得很好,但我不确定库中是否还有ViewPropTypes 的用法。

    但是,使用相关 PropTypes 类型模拟任何 ViewPropTypes 用法可能会解决此类问题

    来源:https://github.com/aksonov/react-native-router-flux/issues/3707

    【讨论】:

      【解决方案2】:

      来自 @necolasreact-native-web 创建者)在 GitHub 上的回答:“阅读自 0.11 以来的 6 个次要版本更新中的每一个的发行说明,并采取相应措施: https://github.com/necolas/react-native-web/releases

      【讨论】:

        猜你喜欢
        • 2019-09-18
        • 1970-01-01
        • 2019-02-17
        • 2020-11-05
        • 2020-04-17
        • 1970-01-01
        • 2020-10-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多