如何在 React Native 中将 Facebook Messenger "Send" 按钮导出为本机 UI 组件?
How do I export Facebook Messenger "Send" Button as a Native UI Component in React Native?
我正在尝试从 Facebook Messenger 导出发送按钮作为本机 UI 组件以响应本机。我没有收到任何错误,但我也没有看到按钮。
我对此的参考是:
https://facebook.github.io/react-native/docs/native-components-ios.html and https://developers.facebook.com/docs/messenger/ios#messenger_buttons
这是我目前的情况:
RCTFBMessengerButtonManager.m
#import "RCTViewManager.h"
#import <FBSDKMessengerShareKit/FBSDKMessengerShareKit.h>
@interface RCTFBMessengerButtonManager : RCTViewManager
@end
@implementation RCTFBMessengerButtonManager
RCT_EXPORT_MODULE()
- (UIView *)view
{
return [FBSDKMessengerShareButton rectangularButtonWithStyle:FBSDKMessengerShareButtonStyleBlue];
}
@end
FBMessengerButton.js 是我获取 Native 组件的地方:
var { requireNativeComponent } = require('react-native');
module.exports = requireNativeComponent('RCTFBMessengerButton', null);
和我实现 FBMesssengerButton 组件的发送组件:
'use strict';
var React = require('react-native');
var {
View,
} = React;
var FBMessengerButton = require('../Components/FBMessengerButton');
class Send extends React.Component{
constructor(props){
super(props);
}
render() {
return (
<View>
<FBMessengerButton />
</View>
);
}
}
module.exports = Send;
问题不是 FB Messenger 没有出现,而是按钮的背景和大小没有传到 React Native。通过在 <FBMessenger>
组件上设置宽度、高度和背景颜色,按钮就可以了。
下一个问题与按钮上的绑定事件有关,我也已解决。
我把我的解决方案变成了一个 npm 包,可以在这里找到:https://github.com/1985media/react-native-facebook-messenger
我正在尝试从 Facebook Messenger 导出发送按钮作为本机 UI 组件以响应本机。我没有收到任何错误,但我也没有看到按钮。
我对此的参考是: https://facebook.github.io/react-native/docs/native-components-ios.html and https://developers.facebook.com/docs/messenger/ios#messenger_buttons
这是我目前的情况:
RCTFBMessengerButtonManager.m
#import "RCTViewManager.h"
#import <FBSDKMessengerShareKit/FBSDKMessengerShareKit.h>
@interface RCTFBMessengerButtonManager : RCTViewManager
@end
@implementation RCTFBMessengerButtonManager
RCT_EXPORT_MODULE()
- (UIView *)view
{
return [FBSDKMessengerShareButton rectangularButtonWithStyle:FBSDKMessengerShareButtonStyleBlue];
}
@end
FBMessengerButton.js 是我获取 Native 组件的地方:
var { requireNativeComponent } = require('react-native');
module.exports = requireNativeComponent('RCTFBMessengerButton', null);
和我实现 FBMesssengerButton 组件的发送组件:
'use strict';
var React = require('react-native');
var {
View,
} = React;
var FBMessengerButton = require('../Components/FBMessengerButton');
class Send extends React.Component{
constructor(props){
super(props);
}
render() {
return (
<View>
<FBMessengerButton />
</View>
);
}
}
module.exports = Send;
问题不是 FB Messenger 没有出现,而是按钮的背景和大小没有传到 React Native。通过在 <FBMessenger>
组件上设置宽度、高度和背景颜色,按钮就可以了。
下一个问题与按钮上的绑定事件有关,我也已解决。
我把我的解决方案变成了一个 npm 包,可以在这里找到:https://github.com/1985media/react-native-facebook-messenger