xcl*_*ner 6 android react-native fbsdk react-native-android react-native-fbsdk
LikeView本RCTFBLikeView.onLayout机类型的原生道具没有propType boolean
如果您自己没有更改此道具,这通常意味着您的本机代码版本和JavaScript代码不同步.更新两者应该会使此错误消失.

不知道为什么我收到此错误.我在android应用程序中根本没有使用LikeView.我试过跑步npm start --reset-cache.
此外,iOS版本的应用程序运行没有问题.这只发生在Android上.
欢迎任何建议.
谢谢!
我发现问题是(正如RN指出的)每个视图使用的道具上的原生道具和JS之间的不匹配.即:
由于我没有使用该软件包使用的任何视图,即:
我试图将这个道具设置为"仅限本机",这样它们就不会绑定到JavaScript端.在每个组件中(在示例中FBShareButton.js),我替换了:
const RCTFBShareButton = requireNativeComponent(
'RCTFBShareButton',
ShareButton,
);
Run Code Online (Sandbox Code Playgroud)
同
const RCTFBShareButton = requireNativeComponent(
'RCTFBShareButton',
ShareButton,
{
nativeOnly: {
onChange: true,
onLayout: true,
testID: true,
importantForAccessibility: true,
accessibilityLiveRegion: true,
accessibilityComponentType: true,
accessibilityLabel: true,
renderToHardwareTextureAndroid: true,
}
},
);
Run Code Online (Sandbox Code Playgroud)
我现在要检查视图是否正确呈现并稍后编辑我的帖子,但是如果你只是想能够编译你的应用程序以便继续开发(这是我目前的情况),那应该让你这样做了
编辑
我LoginButton使用自述更改在README中使用示例成功渲染了组件.
编辑2
我通过对包的更改发出了拉取请求.我不喜欢这个解决方案,但它可能引起FB的注意.在此期间,你可以使用我的前叉.在你的package.json,只需用这个替换fbsdk行:
"react-native-fbsdk": "git+https://github.com/motius/react-native-fbsdk.git#fix-views"
实际上,这个其他拉取请求可能是更好的解决方案.
因此,经过无数次的实验和反复思考后,我认为解决方案是依赖项的版本控制。
以下是我尝试过的操作的列表,我认为解决问题的操作标有 *,因为我不能 100% 确定是否是此步骤解决了问题。
react-native uninstall react-native-fbsdk紧随其后react-native install react-native-fbsdk@0.5.0。注意*在过去的两天里尝试了第5个..但直到现在它才起作用...所以我不知道是什么黑魔法导致它现在起作用...
第 5 号的问题是,在昨天之前,fbsdk 依赖项版本是 0.5.0,截至昨天,它已升级到 0.6.0。所以我不知道为什么即使我昨天也重新安装了它,它也没有修复这个错误。
如果对此更熟悉的人可以解释为什么会发生这种情况,我会倾向于学习。