react-native-web 更新:TypeError:无法读取未定义的属性“样式”
Posted
技术标签:
【中文标题】react-native-web 更新:TypeError:无法读取未定义的属性“样式”【英文标题】:react-native-web update: TypeError: Cannot read property 'style' of undefined 【发布时间】: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(或其他依赖项)依赖项更新导致另一个依赖项出错时,解决这些问题的方法是什么?
【问题讨论】:
【参考方案1】:可能的解决方案/快速修复
上述错误可以通过从库中删除任何 ViewPropTypes
用法来解决,或者通过在 ViewPropTypes
为 undefined
时模拟 ViewPropTypes
功能来解决。
例如,针对我的情况,以下修复已解决了Router.js
(第 135 行)中的上述错误:
sceneStyle: ViewPropTypes ? ViewPropTypes.style : PropTypes.object
Router.js
的这个修复似乎使react-native-router-flux
与react-native-web v0.12+
一起工作得很好,但我不确定库中是否还有ViewPropTypes
的用法。
但是,使用相关 PropTypes
类型模拟任何 ViewPropTypes
用法可能会解决此类问题
来源:https://github.com/aksonov/react-native-router-flux/issues/3707
【讨论】:
【参考方案2】:来自 @necolas(react-native-web
创建者)在 GitHub 上的回答:“阅读自 0.11
以来的 6 个次要版本更新中的每一个的发行说明,并采取相应措施:
https://github.com/necolas/react-native-web/releases
【讨论】:
以上是关于react-native-web 更新:TypeError:无法读取未定义的属性“样式”的主要内容,如果未能解决你的问题,请参考以下文章
nextjs + react-native-web + styled-components :warnOnce
如何修复导入错误:来自“react-native-web”的“requireNativeComponent”