将世博会从 45 升级到 46 并“修复”弃用道具后出现“ViewPropTypes.styles”问题

问题描述 投票:0回答:1

我刚刚将 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;
  },
};

虽然在执行此“解决方案”之后,我收到以下错误(并且“主要”错误也仍然存在):

react-native expo deprecated react-proptypes
1个回答
0
投票

好吧,我设法解决了。
必须做什么?
1。安装

patch-package
deprecated-react-native-prop-types

2。在
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

4。如果为您修复了更新依赖项,您就完成了。
5。如果您必须在任何依赖项中包含
require(...)
,请不要忘记运行
yarn patch-package <package-name>

6。并且也不要忘记在使用
yarn patch-package
yarn
 安装任何软件包后运行 
npm

© www.soinside.com 2019 - 2024. All rights reserved.