react native 微博组件

1,372 阅读1分钟

最近想用react native来练习练习,首选是做个微博客户端,有长列表,有浮层,有二级页面。。

react native也出来这么久了,生态应该不成问题,就找了找微博RN组件,发现了https://github.com/reactnativecn/react-native-weibo 和 react-native-weibo-login。 react-native-weibo已经好久没维护了,PR也没人合并,react-native-weibo-login虽然可以使用,但只支持登陆功能。

有点失望。

只能自己动手了,官方的weibo_ios_sdk,其实没把源码放在上面,而是打包好的静态库,不过通过查看WeiboSDKDemo也大致能知道如何调用。而我们要做的是调用weibo_ios_sdk的接口,react native文档也有native-modules-ios。最核心是通过RCT_EXPORT_METHOD暴露接口。

比起一切从头开始,选择在react-native-weibo的基础上做修改,github.com/yun77op/rea…

  1. 引用
#import "RCTBridgeModule.h"

改成

#import <React/RCTBridgeModule.h>

或者如果需要兼容老版本

#if __has_include(<React/RCTBridgeModule.h>)
#import <React/RCTBridgeModule.h>
#else
#import "RCTBridgeModule.h"
#endif
  1. 微博sdk本身的改动
  • WBVideoObject变成了WBNewVideoObject,并添加了addVideo方法
  • WBMusicObject类去掉了
  • ...
  1. 事件通信

以前通过eventDispatcher,现在改成继承RCTEventEmitter

总结

本文记录本人的实践,如果有第三方服务没有现成的RN库,可以从本文从得到启发也不错。