刚开始学习React, 读了官网和别人的一些博客,总结了一部分内容,记录一下。有错误欢迎指正。。。

一、自定义组件需要了解知识

1. 组件分类

React中有两种类型的组件,一种是”方法组件“,一种是”类组件“;

(1). 区别

方法组件:
  • 不具有state状态;只用于展示数据,不做逻辑处理;

  • 不具有render()方法,直接返回JSX对象或null对象;

  • 示例:


function Welcome(props) { return ( // 此处注释的写法 <div className="shopping-list"> {/* 此处 注释的写法 必须要{}包裹 */} <h1>Shopping List for {props.name}</h1>
<ul>
<li>Instagram</li>
<li>WhatsApp</li>
</ul>
</div> ) } ReactDOM.render(
<Welcome name="jack" />,
document.getElementById('app') )
类组件
  • 具有state状态;有业务逻辑,需要操作数据(state);

  • 必须有render()方法;render()方法返回的对象必须有根元素且只能有一个,可以为JSX对象或null对象;

  • 需要在构造方法中使用super(props)才可在组件的后续内容中使用this;

  • 示例:


class ShoppingList extends React.Component {
constructor(props) {
super(props)
} // class创建的组件中 必须有render方法 且显示return一个react对象或者null
render() {
return (
<div className="shopping-list">
<h1>Shopping List for {this.props.name}</h1>
<ul>
<li>Instagram</li>
<li>WhatsApp</li>
</ul>
</div>
)
}
}

(2). 相同点

  • 定义的名称首字母均大写;(React通过此来判断是否为一个组件)
  • 返回值最好都用()包含;
  • 返回值为JSX对象或null对象;
  • 都接受父组件传递的props对象属性,且子组件不可修改;

2. 数据对象: props和state

(1). props

  • 用于存储父组件传递给子组件的参数;React会将传递的参数转换为对象赋值给props;
  • 只读属性;子组件接收父组件的props参数,子组件不可修改;
  • 实例化:①. 从父组件传递过来,在子组件中通过super(props)实例化;②. 通过组件类的静态属性defaultProps来初始化props;(组件名.defaultProps = {color: 'red'}

    自学React 入门的更多相关文章

    1. react入门(3)

      在第一篇文章里我们介绍了jsx.组件.css写法  点击查看react入门(1) 第二篇文章里我们介绍了事件.this.props.children.props....other.map循环  点击查 ...

    2. react入门(1)

      这篇文章也不能算教程咯,就算是自己学习整理的笔记把. 关于react一些相关的简介.优势之类的,随便百度一下一大堆,我就不多说了,可以去官网(http://reactjs.cn/)看一下. 这片主要讲 ...

    3. react入门(2)

      接着上一次的讲,如果没有看过上一篇文章的小伙伴可以先看一下http://www.cnblogs.com/sakurayeah/p/5807821.html React事件 可以先看一下官网讲解的内容h ...

    4. react入门(4)

      首先还是来回顾一下前三篇讲的内容 react入门(1): jsx,组件,css写法 react入门(2):事件,this.props.children,props,...other react入门(3 ...

    5. React 入门实例教程(转载)

      本人转载自: React 入门实例教程

    6. React 入门实例教程

      现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑. React 起源于 Face ...

    7. React入门 (1)—使用指南(包括ES5和ES6对比)

      前言 本篇会简明扼要的介绍一下React的使用方法.代码会用JSX+ES5和JSX+ES6两种方式实现. React简介 React来自Facebook,于2013年开源.至今不断修改完善,现在已经到 ...

    8. React入门简单实践

      参考文献: 1.React入门示例教程——阮一峰 2.React仅仅只是你的界限 React主要的优点就是增量更新(虚拟DOM)和组件化(状态机). <!DOCTYPE html> < ...

    9. 2015年最热门前端框架React 入门实例教程

      现在最热门的前端框架,毫无疑问是 React . 上周,基于 React 的 React Native 发布,结果一天之内,就获得了 5000 颗星,受瞩目程度可见一斑. React 起源于 Face ...

    随机推荐

    1. 手把手教你用深度学习做物体检测(五):YOLOv1介绍

      "之前写物体检测系列文章的时候说过,关于YOLO算法,会在后续的文章中介绍,然而,由于YOLO历经3个版本,其论文也有3篇,想全面的讲述清楚还是太难了,本周终于能够抽出时间写一些YOLO算法 ...

    2. Drop Table对MySQL的性能影响分析

      [问题描述] 最近碰到有台MySQL实例出现了MySQL服务短暂hang死,表现为瞬间的并发线程上升,连接数暴增. 排查Error Log文件中有page_cleaner超时的信息,引起我们的关注: ...

    3. centos7.2+jdk7.9搭建haddoop2.7.0伪分布式环境(亲测成功)

      最近想研究下hadoop,玩一玩大数据,废话不多说,就此开始! 所用环境:   xshell 5.0(ssh连接工具,支持ftp,可向虚拟机传文件) CentOS-7-x86_64-DVD-1511. ...

    4. NLP(十六) DL在NLP中的应用

      深度学习中的核心主题是卷积神经网络(CNN)和循环神经网络(RNN) 卷积神经网络 CNN用于图像处理 卷积: 原始图像 5×5 滤波器 3×3 滤波器以步长大于小于1,到处平移,并与原始图像里的3× ...

    5. Codeforces Round #506 (Div. 3) 1029 F. Multicolored Markers

      CF-1029F 题意: a,b个小正方形构造一个矩形,大小为(a+b),并且要求其中要么a个小正方形是矩形,要么b个小正方形是矩形. 思路: 之前在想要分a,b是否为奇数讨论,后来发现根本不需要.只 ...

    6. 洛谷P1217回文质数-Prime Palindrome回溯

      P1217 [USACO1.5]回文质数 Prime Palindromes 题意:给定一个区间,输出其中的回文质数: 学习了洛谷大佬的回溯写法,感觉自己写回溯的能力不是很强: #include &l ...

    7. Storm VS Flink ——性能对比

      1.背景 Apache Flink 和 Apache Storm 是当前业界广泛使用的两个分布式实时计算框架.其中 Apache Storm(以下简称"Storm")在美团点评实时 ...

    8. C语言实现二级指针表示字符串数组

      头文件: #include<stdlib.h> #include<stdio.h> #include<string.h> 函数原型: char ** createB ...

    9. 分享一个 pycharm 专业版的永久使用方法

      刚开始接触Python,首先要解决的就是Python开发环境的搭建. 目前比较好用的Python开发工具是PyCharm,他有社区办和专业版两个版本,但是社区版支持有限,我们既然想好好学python, ...

    10. 新手学习FFmpeg - 调用API调整视频局部速率

      通过修改setpts代码实现调整视频部分的播放速率. 完整代码可参考: https://andy-zhangtao.github.io/ffmpeg-examples/ 在前面提到了PTS/DTS/T ...