02基础语法--001--RN工作原理

2020-08-27  本文已影响0人  修_远

[TOC]

初识 React Native

1.1 React Native的优点

1.2 风险和缺点

React Native 工作原理

2.1 Virtual DOM(虚拟 DOM)与 React 桥接

Virtual DOM 诞生原因

image.png

Virtual DOM 好处

React 桥接

image.png

2.2 渲染周期

当 React 在 Web 环境中运行时,渲染周期始于 React 组件挂载之后

image.png

接着,React 进入渲染周期并根据需要渲染组件

image.png

2.3 在React Native中创建组件

2.3.1 编写视图

image.png

其他组件则是平台特定的。例如,<DatePickerIOS> 组件

下面是从 RNTester 中摘录出来的代码

<DatePickerIOS
  date={this.state.date}
  mode="time"
/>
image.png

所有的 UI 元素均为 React 组件,而不是像 <div> 这样基础的 HTML 元素,因此我们在使用每一个组件之前,都需要显式地进行导入。例如,我们可以这样导入 <DatePickerIOS> 组件:

import { DatePickerIOS } from "react-native";

平台特定的元素和 API 在官方文档中有特殊的标签,通常使用平台名称作为后缀,例如
<TabBarIOS><ToolbarAndroid>

2.3.2 使用JSX

纯 JavaScript 编写 React 组件

class HelloMessage extends React.Component {
  render() {
    return React.createElement(
      "div",
      null,
      "Hello ",
      this.props.name
    );
  }
}

ReactDOM.render(
  React.createElement(HelloMessage, { name: "Bonnie" }), mountNode);

使用 JSX 使其更为简洁

class HelloMessage extends Component {
  render() {
      // 返回标记,而不是调用createElement方法
    return <div>Hello {this.props.name}</div>;
  }
}

// 我们不再需要调用createElement方法
ReactDOM.render(<HelloMessage name="Bonnie" />, mountNode);

以上两段代码最终都会在页面上被渲染为下面的 HTML:

<div>Hello Bonnie</div>

2.3.3 原生组件的样式

定义一个React样式

// 定义一个样式
const style = {
  backgroundColor: 'white',
  fontSize: '16px'
};

在React Native中使用它

// 然后使用它
const txt = (
  <Text style={style}>
    A styled Text
  </Text>);

2.4 宿主平台API

上一篇下一篇

猜你喜欢

热点阅读