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端,所有的元素都可以设置所有的样式(但是可能不会生效)。

浙公网安备 33010602011771号