React多端适配

react实多端适配,我们只需要用react核心库, 创建虚拟DOM和组件,在不同端使用不同的渲染库渲染

  web端:render | hydrate

  node端:renderToString | renderToStaticMarkup | renderToNodeStreamrenderToStaticNodeStream

  native端(ios和android):registerComponent

组件:
开发组件的技术一样

class 组件类 extends Component<{}> {}

  <{}>是ts语法中的泛型:用来说明前面数据的类型的,我们定义组件的时候,可以不用定义。

react-native中的组件与web端定义的组件都是一样的。

  都可以定义生命周期方法,

  都可以使用属性数据

  都可以使用状态数据等等

web端可以直接使用了DOM元素,native端不是浏览器环境,因此提供了大量的组件

例如:

  View组件(创建盒子的)类似div元素

  Text组件(渲染文本的)类似span元素

  这些组件都可以从react-native中获取。

样式:

react-native环境不是浏览器环境,因此不支持css样式,但是我们可以通过组件的style属性定义样式对象。

key 表示样式名称 value 样式属性值(如果是长度,不带单位)

为了复用样式,react-native提供了StyleSheet对象,提供了create方法,可以创建一组能够被复用的样式,参数是对象

key 表示一组样式名称(类似css中的选择器),value 表示一组样式对象

创建的结果是:key的属性值是存储样式的地址,而不是样式对象。

此时就可以在不同的组件中,通过style属性复用样式了。

react native中,不支持复合属性,要单独定义

注意:

web端,所有的元素都可以设置所有的样式(但是可能不会生效)。

但是在native端,每一个组件设置的样式是受到限制的。如:View组件不能设置字体样式

 

 

posted @ 2022-03-18 11:38  HaoyuSun  阅读(442)  评论(0)    收藏  举报