android – ‘LikeView’没有propType’RCTFBLikeView.onLayout’本机类型’boolean’如果你没有改变这个

前端之家收集整理的这篇文章主要介绍了android – ‘LikeView’没有propType’RCTFBLikeView.onLayout’本机类型’boolean’如果你没有改变这个前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
LikeView没有propType用于本机类型boolean的本机prop RCTFBLikeView.onLayout
如果您自己没有更改此prop,这通常意味着您的本机代码版本和 JavaScript代码不同步.更新两者应该会使此错误消失.

不知道为什么我收到此错误.我在android应用程序中根本没有使用LikeView.我试过运行npm start –reset-cache.

此外,iOS版本的应用程序运行没有问题.这只发生在Android上.

欢迎任何建议.

谢谢!

解决方法

我发现问题是(正如RN指出的)每个视图使用的道具上的原生道具和JS之间的不匹配.即:

> renderToHardwareTextureAndroid
> onLayout
> accessibilityLiveRegion
> accessibilityComponentType
> importantForAccessibility
> accessibilityLabel
> testID

由于我没有使用该软件包使用的任何视图,即:

> FBLikeView
> FBLoginButton
> FBSendButton
> FBShareButton

我试图将这个道具设置为“仅限本机”,这样它们就不会绑定到JavaScript端.在每个组件中(在示例中,FBShareButton.js),我替换了:

const RCTFBShareButton = requireNativeComponent(
    'RCTFBShareButton',ShareButton,);

const RCTFBShareButton = requireNativeComponent(
  'RCTFBShareButton',{
    nativeOnly: {
      onChange: true,onLayout: true,testID: true,importantForAccessibility: true,accessibilityLiveRegion: true,accessibilityComponentType: true,accessibilityLabel: true,renderToHardwareTextureAndroid: true,}
  },);

我现在要检查视图是否正确呈现并稍后编辑我的帖子,但是如果你只是想能够编译你的应用程序以便继续开发(这是我目前的情况),那应该让你这样做了

编辑

我使用我的更改使用README中的示例成功呈现了LoginButton组件.

编辑2

我对包裹的更改做了pull request.我不喜欢这个解决方案,但它可能引起FB的注意.在此期间,你可以使用我的前叉.在你的package.json中,只需用以下代码替换fbsdk行:

“react-native-fbsdk”:“git https://github.com/motius/react-native-fbsdk.git#fix-views”

实际上,这个其他pull request可能是更好的解决方案.

猜你在找的Android相关文章