react-native可以做为react组件用吗?

网上好多react-native相关的组件,但是我想应用在react上面,请问这样做可以吗

阅读 4.6k
3 个回答

原则上RN的组件都是跨平台的,可以用到浏览器环境中,但是有一些用到移动终端特性的功能的组件如系统通知、蓝牙、信息可能不会很好地在浏览器中工作,当然大部分页面组件是可以的

肯定是可以的,现有react-native-web之类的npm就能实现,由于RN最小布局组件View和Text在web中并没有定义,所以这些类库也是在中间做了粘合层,做了类似替换View->Div这样的操作。但是如楼上所说,RN的拥有唤起Native APi的能力,所以这边的兼容只能对于页面组件

目前react-native-web 已经实现了部分组件在React Native和Web端的跨平台兼容,但是个人认为如果要投入生产依然是会存在一些问题:

  1. 组件库并未涵盖所有的官方组件,这导致我们在开发的时候会受到很多的限制,未实现跨平台的组件需要我们自己去做开发实现;
  2. React Native目前本身还未发布稳定版本,所以从可靠性上来讲,比较难以保证这个组件库能够一直跟随官网进行稳定升级;
  3. React Native和Web因为二者的场景和执行环境不同,在技术上会存在很多的兼容问题(比如:window环境、Dom结构等),同时从公司的业务上来讲,针对不同的执行环境也会有很大的差异,比如:React Native实现的业务只会运行在自营的品牌App上,但是Web场景却可能运行在不同的三方合作App上,故此一定是会存在非常多的业务差异,也就意味如果共用一套,会有很多的业务兼容需要处理,导致代码越来越难以维护;

所以,综合上面的几点,个人其实不太看好共用,虽然这个愿望很美好~

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题