美文网首页
React手记

React手记

作者: yongfutian | 来源:发表于2020-07-05 15:47 被阅读0次

React手记

1、


2、React元素渲染

React元素渲染是通过方法ReactDOM.render(element, rootNode)来完成的,通过render方法的参数,引出了如下两个概念:

元素:是构成React应用的最小单位,它用于描述屏幕上输出的内容
根节点:React应用一般只定义一个根节点。但如果你是在一个已有的项目当中引入 React 的话,你可能会需要在不同的部分单独定义 React 根节点。

<div id="example"></div>

const element = <h1>Hello, world!</h1>;
ReactDOM.render(
    element,
    document.getElementById('example')
);

2.1. 更新元素的渲染
因为React元素都是不可变更的,即当元素被创建之后,就不能改变其内容和属性;因此,目前更新界面的唯一办法就是创建一个新的元素,然后使用方法ReactDOM.render(element, rootNode)来重新渲染。

function tick() {
  const element = (
    <div>
      <h1>Hello, world!</h1>
      <h2>现在是 {new Date().toLocaleTimeString()}.</h2>
    </div>
  );
  ReactDOM.render(
    element,
    document.getElementById('example')
  );
}
 
setInterval(tick, 1000);

React 只会更新必要的部分

值得注意的是 React DOM 首先会比较元素内容先后的不同,而在渲染过程中只会更新改变了的部分。

3、JSX语法

3.1. 元素定义

const element = <h1>Hello, world!</h1>;

var myDivElement = <div className="foo" />;

注意:

由于 JSX 就是 JavaScript,一些标识符像 class 和 for 不建议作为 XML 属性名。作为替代,React DOM 使用 className 和 htmlFor 来做对应的属性。

3.2. JavaScript 表达式
我们可以在 JSX 中使用 JavaScript 表达式。表达式写在花括号 {} 中

ReactDOM.render(
    <div>
    {/*注释...*/}
      <h1>{1+1}</h1>
    </div>
    ,
    document.getElementById('example')
);

3.3. 样式
React 推荐使用内联样式。我们可以使用 camelCase 语法来设置内联样式. React 会在指定元素数字后自动添加 px 。

var myStyle = {
    fontSize: 100,
    color: '#FF0000'
};
ReactDOM.render(
    <h1 style = {myStyle}> hello world! </h1>,
    document.getElementById('example')
);

3.4. 数组
SX 允许在模板中插入数组,数组会自动展开所有成员:

var arr = [
  <h1>教程</h1>,
  <h2>学的不仅是技术,更是梦想!</h2>,
];
ReactDOM.render(
  <div>{arr}</div>,
  document.getElementById('example')
);

4、组件

组件可以说是React的核心,下面我们来看一下组件的两种定义方式:
4.1. 使用函数定义组件

function HelloMessage(props) {
    return <h1>Hello World!</h1>;
}

4.2. 使用 ES6 class 定义组件

class Welcome extends React.Component {
  render() {
    return <h1>Hello World!</h1>;
  }
}

注意:
原生 HTML 元素名以小写字母开头,而自定义的 React 类名以大写字母开头,比如 HelloMessage 不能写成 helloMessage。除此之外还需要注意组件类只能包含一个顶层标签,否则也会报错。

4.3. 复合组件
一般一个应用都是由多个组件组成的,而组件之间式可以嵌套的,而由组件嵌套组成的单独一个组件就是复合组件


5、State(状态)

相关文章

  • React手记

    React手记 1、 2、React元素渲染 React元素渲染是通过方法ReactDOM.render(elem...

  • 2018-09-30

    react native第三方组件使用遇坑解决手记 集成react-native-image-crop-picke...

  • React 手记

  • React随手记

    react 中有JSX语法, 页面中使用 时,需要引入react,否则会报错render() 函数中的标签也是j...

  • React Native 学习手记(三)

    本章节主要介绍 样式 宽度高度 Flexbox布局 样式 所有的组件都接受名为style的属性。 命名方法注意使用...

  • React Native 学习手记(四)

    本章节主要介绍 处理文本输入 处理触摸事件 使用滚动视图 处理文本输入 使用TextInput组件处理文本输入 o...

  • React Native 学习手记(五)

    本章节主要介绍 FlatList SectionList 网络相关 FlatList 垂直滚动列表 优先渲染屏幕上...

  • React Native 学习手记(一)

    本章节主要介绍 开发环境搭建 第一个程序(Hello World) 配置开发环境 根据React Native中文...

  • React Native 学习手记(二)

    本章节主要介绍 属性 状态 属性 代码中Image标签有两个属性,source和style,自定义组件怎么定义属性...

  • react-dnd使用手记

    安装yarn add react-dnd react-dnd-html5-backend 了解相应API Drag...

网友评论

      本文标题:React手记

      本文链接:https://www.haomeiwen.com/subject/wyuvqktx.html