undefined不是对象(评估'require(37).PropTypes.shape')

时间:2018-01-02 09:17:46

标签: react-native expo

将Expo从版本21升级到24后,我收到此错误。

我似乎遇到了PropTypes的问题。

来自Expo v22.0.0,作者警告说

  

如果您或您使用的任何库。使用View.propTypes.style你   需要将其更改为ViewPropTypes.style。你只会看到   生产中的错误 - 所以一定要测试你的应用程序   开发模式已禁用。

但是我没有在我的反应本机代码中使用PropTypes但是我想SnackBar中有一个函数PropTypes,我必须更新它们才能使用它。

我该如何解决这个问题?错误是说Snackbar.js代码有问题,但我不明白......

undefined is not an object (evaluating 'require(37     ).PropTypes.shape') <unknown>
    type.js:1:126 loadModuleImplementation
    require.js:191:12 guardedLoadModule
    require.js:138:36
_require
    require.js:118:20 <unknown>
    SnackBar.js:8:1003 loadModuleImplementation <<<<
    require.js:191:12 guardedLoadModule
    require.js:138:36
_require
    require.js:118:20 <unknown>
    SnackBarManager.js:5:22 loadModuleImplementation
    require.js:191:12 guardedLoadModule
    require.js:138:36
_require
    require.js:118:20 <unknown>
    index.js:1:86 loadModuleImplementation
    require.js:191:12 guardedLoadModule
    require.js:138:36
...

我确认snackbar.js没有PropTypes

SnackBar是开源的:react-native-snackbar-dialog

这也适用于其他套餐。 moments.js等等。升级打破了整个依赖,我无法弄清楚我做错了什么

1 个答案:

答案 0 :(得分:1)

cd node_modules/react-native-snackbar-dialog && yarn build解决了我的问题。

其他东西包相同。