原创教程之——reactjs 组件入门教程

在学习react之前,希望你有以下准备:

react的安装
ECMAScript 6基础

本文不讲解react的安装步骤,若需了解请移步官方网站(https://reactjs.org/),那里讲解非常清楚,也很简单。
至于ECMAScript 6,大家可以去阮一峰老师的官网(http://www.ruanyifeng.com)学习。

这篇文章主要解决一下几个要点, 这几个要点也可能是大家在学习react时非常迷惑的地方。

要点一:
什么是组件?

要点二:
如何编写组件?

要点三:
组件之间如何组合使用?

在弄清这些要点之前,我们先来看,react安装后的目录是怎样的,应该在哪个目录下进行开发。

看截图:


可以说这个就是react的标准目录结构,打开src目录:

看截图:

这个目录下就是你将要开发组件的地方。

弄清了react的目录结构,我们正式来讲解要点。

什么是组件?

请记住:文件即组件

比如在src目录下的App.js,这个App.js就是组件。你也可以自己建立一个组件,如Nav.js等等。

这个就是react的核心思想。一个网站的构成可以看成是很多组件的集合。

比如一个网站的首页分为头部,主内容区域,底部。那么这三个大区域就可以当作组件。然后每个区域里的内容块又可以当作组件,以此类推,可以划分成更小的组件。我们可以来看一张图:

说形象点组件就像定义的很多功能函数,通过配置参数,组合调用这些函数,最后就可以实现一个完整的网站。
组件的好处就是能重复使用,既能减少开发量,也能让代码干净整洁,逻辑清晰,方便阅读。

组件如此的美好,那该怎么来编写呢?

第二个问题,如何编写组件。
在编写组件之前,我自己通常把组件分成两种,非UI组件和UI组件。

看例子:

//App.js

import React, { Component } from ‘react‘;
import ‘./App.css‘;

class App extends Component {

render() {

return (
    <div className="App">
      <header className="App-header">
       <h1 className="App-title">Welcome to React</h1>
      </header>
     </div>
);
}
}

export default App;

这是一个UI组件。是一个非常简单的组件。即便不了解es6的同学,也能秒懂。
由此,我们可以把UI的组件书写结构标准化,如下:

//MyApp.js

import React, { Component } from ‘react‘;

class MyApp extends Component {
    //其它的功能代码
    render() {
        return (
        //UI代码
        );
    }
}

export default MyApp;

依次类推,我们也可以把非UI的组件书写结构标准化,如下:

//Myfn.js

let Myfn = {
    http(params){
    //代码
    }
    showMessage(msg){
    //代码
    }
    ...
    //其它代码
}

export default Myfn;

对比一下,发现两者有以下不同:

UI组件需要class语句
UI组件需要render函数
反之则不需要。

相同点:
react规定,组件名(也就是文件名)首字母必须大写。
为了便于代码管理和阅读,最好让组件名和组件内部导出的绑定名字统一。以Myfn.js为例,Myfn.js的文件名和其导出的Myfn对象名是一致的。大家一定要养成这样的书写习惯。

组件写法我们会了,那如何让组件组合使用呢?
以上面的例子说明,如果我想在MyApp.js里使用Myfn,可以这样使用:

//MyApp.js

import React, { Component } from ‘react‘;
import Myfn from ‘./Myfn‘; //注意这句,此处的Myfn.js的扩展名可以省去

class MyApp extends Component {
    //其它的功能代码
    showMsg(msg){
        Myfn.showMessage(msg); //注意这句
    }
    render() {
        //this.showMsg(‘hello world!‘)或
        //Myfn.showMessage(‘hello world!‘)
        return (
            //UI代码
        );
    }
}

export default MyApp;

是不是很简单?
记住一句话:非UI组件通常是导入到UI组件里使用的,非UI组件通常为UI组件渲染时提供逻辑处理。

原文地址:https://www.cnblogs.com/tinkbell/p/8707854.html

时间: 2024-11-13 09:33:54

原创教程之——reactjs 组件入门教程的相关文章

AutoCAD2014室内设计 AutoCAD2009施工图教程 CAD布局及规范作图教程 室内手绘入门教程

热门推荐电脑办公计算机基础知识教程 Excel2010基础教程 Word2010基础教程 PPT2010基础教程 五笔打字视频教程 Excel函数应用教程 Excel VBA基础教程 WPS2013表格教程 更多>平面设计PhotoshopCS5教程 CorelDRAW X5视频教程 Photoshop商业修图教程 Illustrator CS6视频教程 更多>室内设计3Dsmax2012教程 效果图实例提高教程 室内设计实战教程 欧式效果图制作实例教程 AutoCAD2014室内设计 Aut

程序设计C语言二级考试教程 Java基础视频教程 安卓软件开发教程 Unity3D游戏制作入门教程

热门推荐电脑办公计算机基础知识教程 Excel2010基础教程 Word2010基础教程 PPT2010基础教程 五笔打字视频教程 Excel函数应用教程 Excel VBA基础教程 WPS2013表格教程 更多>平面设计PhotoshopCS5教程 CorelDRAW X5视频教程 Photoshop商业修图教程 Illustrator CS6视频教程 更多>室内设计3Dsmax2012教程 效果图实例提高教程 室内设计实战教程 欧式效果图制作实例教程 AutoCAD2014室内设计 Aut

AutoCAD2014室内设计 AutoCAD2009施工图教程 CAD布局及规范作图教程 室内手绘入门教程

热门推荐电脑办公计算机基础知识教程 Excel2010基础教程 Word2010基础教程 PPT2010基础教程 五笔打字视频教程 Excel函数应用教程 Excel VBA基础教程 WPS2013表格教程 更多>平面设计PhotoshopCS5教程 CorelDRAW X5视频教程 Photoshop商业修图教程 Illustrator CS6视频教程 更多>室内设计3Dsmax2012教程 效果图实例提高教程 室内设计实战教程 欧式效果图制作实例教程 AutoCAD2014室内设计 Aut

ExtJs 入门教程

ExtJs 入门教程一[学习方法] ExtJs 入门教程二[Hello World] ExtJs 入门教程三[窗体:Window组件] ExtJs 入门教程四[表单:FormPanel] ExtJs 入门教程五[文本框:TextField] ExtJs 入门教程六[按钮:Button] ExtJs 入门教程七[登陆窗体Demo:Login] ExtJs 入门教程八[脚本调试Firefox:firebug] ExtJs 入门教程九[数字字段:NumberField.隐藏字段Hidden.日期字段:

影视动画 Premiere视频教程 AE CS5专业入门教程 绘声绘影X6入门提高 3DS MAX三维动画教程

热门推荐电脑办公计算机基础知识教程 Excel2010基础教程 Word2010基础教程 PPT2010基础教程 五笔打字视频教程 Excel函数应用教程 Excel VBA基础教程 WPS2013表格教程 更多>平面设计PhotoshopCS5教程 CorelDRAW X5视频教程 Photoshop商业修图教程 Illustrator CS6视频教程 更多>室内设计3Dsmax2012教程 效果图实例提高教程 室内设计实战教程 欧式效果图制作实例教程 AutoCAD2014室内设计 Aut

AFNnetworking快速教程,官方入门教程译

AFNnetworking快速教程,官方入门教程译 分类: IOS2013-12-15 20:29 12489人阅读 评论(5) 收藏 举报 afnetworkingjsonios入门教程快速教程 AFNetworking官网入门教程简单翻译,学习 AFNetworking 是一个能够快速使用的ios和mac os x下的网络框架,它是构建在Foundation URL Loading System之上的,封装了网络的抽象层,可以方便的使用,AFNetworking是一个模块化架构,拥有丰富ap

GitHub For Windows 入门教程

GitHub For Windows 入门教程 GitHub是一款非常好用的代码管理工具,网上也有很多的教程,但是都比较老或者比较繁琐,在这里由于不需要太复杂的功能,给大家简单的介绍下GitHub For Windows客户端的基本用法~ 首先,下载GitHub For Windows客户端 下载地址:https://windows.github.com/ 点击DOWNLOAD 下载安装即可- 安装好后,需要用GITHUB的账户登录,没有的话去注册一个吧~地址:https://github.co

影视动画Premiere视频教程 AE CS5专业入门教程 绘声绘影X6入门提高 3DS MAX三维动画教程

热门推荐电脑办公计算机基础知识教程 Excel2010基础教程 Word2010基础教程 PPT2010基础教程 五笔打字视频教程 Excel函数应用教程 Excel VBA基础教程 WPS2013表格教程 更多>平面设计PhotoshopCS5教程 CorelDRAW X5视频教程 Photoshop商业修图教程 Illustrator CS6视频教程 更多>室内设计3Dsmax2012教程 效果图实例提高教程 室内设计实战教程 欧式效果图制作实例教程 AutoCAD2014室内设计 Aut

RabbitMQ中文入门教程

原文地址:http://adamlu.net/dev/2011/09/rabbitmq-get-started/ 这系列教程是翻译官方入门教程. 第一部分:Hello World第二部分:工作队列(Work queues)第三部分:发布/订阅(Publish/Subscribe)第四部分:路由(Routing)声明:此系列教程翻译纯属个人学习笔记,本人英文水平有限,难免会有翻译错误,本文仅供参考.欢迎指正:)