我刚刚将 expo 从 45 升级到 46 以在我的物理设备上运行(显然 expo 应用程序需要此更新)。这两个问题都出现了:
我已经找到了许多针对已弃用模块的解决方案,其中大部分都有这个修复:升级
node_moldules/react-native/index.tsx
(正如许多解决方案所建议的那样):
},
// Deprecated Prop Types
get ColorPropType(): $FlowFixMe {
require('deprecated-react-native-prop-types').ColorPropType;
},
get EdgeInsetsPropType(): $FlowFixMe {
require('deprecated-react-native-prop-types').EdgeInsetsPropType;
},
get PointPropType(): $FlowFixMe {
require('deprecated-react-native-prop-types').PointPropType;
},
get ViewPropTypes(): $FlowFixMe {
require('deprecated-react-native-prop-types').ViewPropTypes;
},
};
好吧,我设法解决了。
必须做什么?
1。安装
patch-package
和deprecated-react-native-prop-types
。
node_moldules/react-native/index.tsx
。插入require
行:
// Deprecated Prop Types
get ColorPropType(): $FlowFixMe {
require('deprecated-react-native-prop-types').ColorPropType;
},
get EdgeInsetsPropType(): $FlowFixMe {
require('deprecated-react-native-prop-types').EdgeInsetsPropType;
},
get PointPropType(): $FlowFixMe {
require('deprecated-react-native-prop-types').PointPropType;
},
get ViewPropTypes(): $FlowFixMe {
require('deprecated-react-native-prop-types').ViewPropTypes;
},
};
3。可能你会遇到和我一样的 props 问题,这意味着你的一些依赖项已经过时了。搜索
PropTypes.style
(在对 node_modules
的每个依赖项上 -> “是的,它很无聊且详尽无遗”),在找到与 PropTypes.style
的依赖项后,尝试使用 yarn <dependencie>
更新它。如果它不能解决问题,则将 PropTypes.style
替换为 require('deprecated-react-native-prop-types').ViewPropTypes
。
require(...)
,请不要忘记运行yarn patch-package <package-name>
yarn patch-package
或 yarn
安装任何软件包后运行
npm