继续上一节课的内容,打开App.js:会看到如下代码:

import React, { Component } from 'react';   //在此文件中引用React,以及reat的组件类
import logo from './logo.svg'; //引用图标
import './App.css'; //引用样式 class App extends Component { //编写一个App组件,继承自react的基本组件Component
render() {
return ( //render里面返回了组件的View
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<h1 className="App-title">Welcome to React</h1>
</header>
<p className="App-intro">
To get started, edit <code>src/App.js</code> and save to reload.
</p>
</div>
);
}
} export default App; //导出组件App,这样外面引用组件的时候才能引用的到

根据上面代码的注释,我们可以在这里写一个自己的react组件。

我们把return里的示例代码删掉,换成自己写的。如下:

import React, { Component } from 'react';
import logo from './logo.svg';
import './App.css'; class App extends Component {
render() {
return (
<div className="App"> //className是类名,为了与html区分,在react里面类名用className表示
<p>Hello,很高兴在react的世界与你相遇!</p>
<p>后面的路无论简单还是困难,希望我们都能坚持走到最后!</p>
</div>
);
}
} export default App;

注意:return的view必须放在一个总的标签内,否则会报错。例如: return ( <div className="App"></div><p></p> );会报错

react组件已经写好,我们先看一下,如何把组件渲染到dom中。

打开index.js

代码如下:

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App'; //导入我们写好的组件
import registerServiceWorker from './registerServiceWorker'; ReactDOM.render(<App />, document.getElementById('root')); // 把react组件渲染到DOM中
registerServiceWorker();
ReactDOM.render(<App />, document.getElementById('root')); // 把react组件渲染到DOM中
root在public中的html文件里,如下:

保存刚刚写好的组件文件,然后在命令窗口运行 npm start,在浏览器就看到我们刚刚写的组件,已经渲染到页面了:

 

react学习笔记(二)编写第一个react组件的更多相关文章

  1. React学习笔记(二) 组件状态

    组件的状态(this.state): 组件免不了要与用户互动,React 的一大创新,就是将组件看成是一个状态机,一开始有一个初始状态,然后用户互动,导致状态变化,从而触发重新渲染 UI getIni ...

  2. react学习笔记(二)

    在以类继承的方式定义的组件中,为了能方便地调用当前组件的其他成员方法或属性(如:this.state),通常需要将事件处理函数运行时的 this 指向当前组件实例. 绑定事件处理函数this的几种方法 ...

  3. Java学习笔记二十九:一个Java面向对象的小练习

    一个Java面向对象的小练习 一:项目需求与解决思路: 学习了这么长时间的面向对象,我们只是对面向对象有了一个简单的认识,我们现在来做一个小练习,这个例子可以使大家更好的掌握面向对象的特性: 1.人类 ...

  4. twisted 学习笔记二:创建一个简单TCP客户端

    #coding=utf-8 from twisted.internet import reactor,protocol class QuickClient(protocol.Protocol): de ...

  5. Go学习笔记(二):编写 HelloWorld 程序

    //Hello.go代码 package main import "fmt" func main(){ fmt.Printf("Hello, world!This is ...

  6. 【opencv学习笔记二】opencv3.4.0组件结构说明

    在学习opencv使用之前我们先来看一下opencv有哪些组件结构.至于OpenCV组件结构的研究方法, 我们不妨管中窥豹,通过opencv安装路径下include目录里面头文件的分类存放,来一窥Op ...

  7. React学习笔记--程序调试

    React学习笔记 二 程序调试   前面我们搭建好了React的基本开发环境,可以编写基本的React js程序了.但完成的开发环境肯定包含调试器,怎么调试用React编写的JS程序呢?有浏览器,比 ...

  8. React学习笔记 - 组件&Props

    React Learn Note 4 React学习笔记(四) 标签(空格分隔): React JavaScript 三.组件&Props 组件可以将UI切分成一些独立的.可复用的部件,这样你 ...

  9. React学习笔记 - 元素渲染

    React Learn Note 3 React学习笔记(三) 标签(空格分隔): React JavaScript 二.元素渲染 元素是构成react应用的最小单位. 元素是普通的对象. 元素是构成 ...

  10. React学习笔记 - Hello World

    React Learn Note 1 React学习笔记(一) 标签(空格分隔): React JavaScript 前.Hello World 1. 创建单页面应用 使用Create React A ...

随机推荐

  1. 利用VS2008编译器编译Qt4.8.2的MySQL驱动

    准备:安装VS2008和Qt 4.8.2,并且设置环境变量(QTDIR=C:\Qt\4.8.2 和 path+=C:\Qt\4.8.2\bin) 一.下载mysql数据库,安装(完全安装)到C盘根目录 ...

  2. 关于ADO.Net SqlConnection的性能优化

    Connections Database connections are an expensive and limited resource. Your approach to connection ...

  3. PID控制器(比例-积分-微分控制器)- V

    Linear Actuator - PID Control Introduction This application guide is designed to explain the basics ...

  4. 哪个中年IT男不是一边面对危机,一边咬牙硬抗

    本文转自:https://www.cnblogs.com/gossip/p/8297294.html 对于 2017 年年末那则令人哀伤的消息,相信很多同龄人都会触目伤怀.面对公司的强制性劝退,深圳中 ...

  5. 如何将revit模型背景设置为黑色

    Revit软件建模窗口默认的背景色为白色,在用惯了CAD的新用户转到Revit软件的时候,会对Revit白色的背景不太适应,跟AutoCAD一样,Revit提供自定义工作区背景颜色的功能--其实,你只 ...

  6. “正在注册字体”问题解决

    在win7下安装老软件,卡在"正在注册字体"了,检查发现是ocx注册有问题. 重写一个ocx注册的批处理就好了. 如: regsvr32 "C:\Program File ...

  7. Dictionary简洁

    mydic_ShuiFei = new Dictionary<string, string>() {             {"00000336","南京市 ...

  8. 【PMP】项目和运营的区别

    运营管理关注产品的持续性生产和服务的持续运作. 项目与运营会存在产品生命周期的不同时点交叉,例如: 在产品开发.产品升级或提高产量时: 在改进运营或产品开发流程时: 在产品生命周期结束阶段: 在每个收 ...

  9. linux使用pam_tally2.so模块限制登录3次失败后禁止5分钟

    在线上的服务器有时需要限制用户登录次数.这个功能可以通过pam的pam_tally2.so模块来实现 PAM模块是用sun提出的一种认证机制 pam_tally2.so模块 一.格式 pam_tall ...

  10. ios实例开发精品源码文章推荐(8.22)

    1.iOS源码:简单阅读器 http://www.apkbus.com/android-112176-1-1.html 2.iOS源码:音频声效--Audio Streamer<ignore_j ...