1、目录结构

2、demo实例详解

  a)创建Home.js  

import React, { Component } from 'react';
//创建一个组件必须要集成Component组件,且组件名称要和文件名称一直
class Home extends Component{
/*构造函数用于数据的定义*/
constructor(props){
super(props);/*用于父子组件传值 ,固定写法*/
this.state={
name:"张三",
age:''
}
}
// 写jsx语法,同时绑定数据 ;render(){模板,主要是jsx语法}
render() {
return(
<div> 你好 Home组件
<p>name:{this.state.name}</p> //{this.state.name}绑定数据
<p>age:{this.state.age}</p>
</div>
)
}
}
//将组件暴露,供别的组件使用
export default Home;

  b)在App.js入口组件引入Home组件

/**
* 1、引入React
* 2、创建一个类,集成Component
* 3、使用render()函数的return()方法包含jsx语句
* jsx语句:js与html混合语言编程
*/ import React, { Component } from 'react';
import logo from './assets/images/logo.svg';
import './assets/css/App.css'; //引入组建
import Home from './components/Home'; /**
* App为一个入口组件
*/
class App extends Component {
//render() 模板 采用jsx语法
render() {
return (
<div className="App">
你好react
挂在Home组件
<Home/>
<h2>react组件里面的所有节点要被根节点包含</h2>
</div>
);
}
} export default App;

 3、属性数据绑定方式

  a)知识点

、所有的模板要被一个根节点包含起来
、模板元素不要加引号
、{}绑定数据
、绑定属性注意:
class 要变成 className
for 要变成 htmlFor
style属性和以前的写法有些不一样
<div style={{'color':'blue'}}>{this.state.title}</div> //以前写法
<div style={{'color':this.state.color}}>{this.state.title}</div> //react写法
、循环数据要加key
方式一:定义变量
let listResult = this.state.list.map(function (value,key) {
return <li key={key}>{value}</li>
})
绑定方式:{listResult}
方拾二:直接绑定
{
this.state.list2.map(function (value,key) {
return <li>{value.title}</li>
})
} 、组件的构造函数中一定要注意 super
子类必须在constructor方法中调用super方法,否则新建实例时会报错。这是因为子类没有自己的this对象,
而是继承父类的this对象,然后对其进行加工。如果不调用super方法,子类就得不到this对象
constructor(props){
super(props); /*用于父子组件传值 固定写法*/
this.state={
userinfo:'张三'
}
} 、组件名称首字母大写、组件类名称首字母大写

  b)操作案例

import React, { Component } from 'react';
import '../assets/css/Home.css';
import logo from '../assets/images/logo.svg' //引入本地图片
//创建一个组件必须要集成Component组件,且组件名称要和文件名称一致
class Home extends Component{
/*构造函数用于数据的定义*/
constructor(props){
super(props);/*用于父子组件传值 ,固定写法*/
this.state={
name:"张三",
age:'',
msg:"我是一个Home组件",
title:"我是标题",
color:'red',
style:{
color: 'red',
fontSize:'40px'
},
list:['','',''],
list2:[
{title: "新闻111"},
{title: "新闻222"},
{title: "新闻333"}
]
}
}
// 写jsx语法,同时绑定数据 ;render(){模板,主要是jsx语法}
render() { let listResult = this.state.list.map(function (value,key) {
return <li key={key}>{value}</li>
})
return(
<div> 你好 Home组件
<p>name:{this.state.name}</p>
<p>age:{this.state.age}</p>
<div title=""> 我的div</div>
<div title={this.state.title}>绑定属性</div> <div className='red'>这个是一个红色的div,要使用className,而不是class</div>
<div className={this.state.color}>这个是一个红色的div,className绑定数据,使用对象方式获取</div>
<br/>
<p>label要使用htmlFor</p>
<label htmlFor="name">姓名</label>
<input id = "name"/> <br/>
<div style={{'color':'red'}}>style原始的样式</div>
<div style={this.state.style}>react style样式绑定数据</div>
<p>引入本地图片</p>
<img src={logo}/>
<img src={require('../assets/images/logo.svg')}/> <p>引入远程图片</p>
<img src="https://img.shields.io/badge/cnpm-0.0.1-red.svg?style=flat-square"/> <p>遍历list方式,通过map函数遍历</p>
<ul>
{listResult}
</ul> <p>遍历list方式,通过map函数遍历</p>
<ur>
{
this.state.list2.map(function (value,key) {
return <li>{value.title}</li>
})
}
</ur>
</div>
)
}
}
//将组件暴露,供别的组件使用
export default Home;

react目录结构、demo实例详解、属性数据绑定方式的更多相关文章

  1. Tomcat的目录结构和配置文件详解

    本文转载: https://www.zybuluo.com/1234567890/note/515235 参考帖子: Tomcat(一):基础配置详解 Tomcat服务器中配置多个域名,访问不同的we ...

  2. Nginx目录结构与配置文件详解

    Nginx安装 具体安装nginx请移步:[nginx部署] 安装依赖 安装pcre依赖软件 [root@ubuntu ~]# yum install -y pcre pcre-devel //外网情 ...

  3. Nginx安装,目录结构与配置文件详解

    1.Nginx简介 Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行.由俄罗斯的程序设 ...

  4. Linux:apache目录结构和配置文件详解

    bin目录下的常见命令 conf目录 htdocs目录 logs目录 httpd.conf文件解析. 如果后期自己新创建了新的站点目录,就要重新增加对应的目录权限配置 extra/目录下配置文件解析 ...

  5. form表单提交三种方式,demo实例详解

    第一种:使用type=submit  可以直接提交 <html> <head> <title>submit直接提交</title> </head& ...

  6. 官网实例详解-目录和实例简介-keras学习笔记四

    官网实例详解-目录和实例简介-keras学习笔记四 2018-06-11 10:36:18 wyx100 阅读数 4193更多 分类专栏: 人工智能 python 深度学习 keras   版权声明: ...

  7. Cocos2d-x 3.X手游开发实例详解

    Cocos2d-x 3.X手游开发实例详解(最新最简Cocos2d-x手机游戏开发学习方法,以热门游戏2048.卡牌为例,完整再现手游的开发过程,实例丰富,代码完备,Cocos2d-x作者之一林顺和泰 ...

  8. 【python3+request】python3+requests接口自动化测试框架实例详解教程

    转自:https://my.oschina.net/u/3041656/blog/820023 [python3+request]python3+requests接口自动化测试框架实例详解教程 前段时 ...

  9. python+requests接口自动化测试框架实例详解

    python+requests接口自动化测试框架实例详解   转自https://my.oschina.net/u/3041656/blog/820023 摘要: python + requests实 ...

随机推荐

  1. Delphi CheckBox组件

  2. springboot中使用filter

    通过注解的方式实现filter过滤器. 创建Filter包,并在该包下创建MyFilter 示例代码: package com.bjpowernode.springboot.filter; impor ...

  3. 多线程(二)Object类方法、线程的操作sleep(),join(),interrupt(),yield()

    四.Object类简介 Object类是所有类的超类,之所以放在线程部分是因为其方法很多是和线程有关的.比如以下三个: wait()方法.wait(long timeout)和wait(long ti ...

  4. exec模块,元类与ORV的应用

    exec模块的补充 1.是什么? exec是一个Python内置模块. 2.exec的作用: ''' x = 10 def func1(): pass ''' 可以把"字符串形式" ...

  5. CSS 多行省略失效 (-webkit-box-orient 失效) Second Autoprefixer control comment was ignored. Autoprefixer applies control comment to whole block, not to next rules.

    webpck不能编译这个属性-webkit-box-orient: vertical https://github.com/fanyifanbumaimeng/Articles/issues/48 / ...

  6. yum安装nginx,配置资源访问出现403Forbidden问题

    使用yum安装nginx后除了nginx自带页面其他配置页面都是403forbidden问题. 暂时的解决办法是,修该nginx配置文件中的user为root , 然后关闭seliunx或者添加ngi ...

  7. 织梦dedecms做的网站首页标题篡改跳转赌博网站解决方案

    织梦dedecms因其强大功能,简单实用的优点常常被用来做企业网站,程序开源使用的人多了网站漏洞多会有中毒的情况,常见的有一种,首页标题关键词描述被篡改,百度快照收录点击后跳转的赌博网站,怎么解决这个 ...

  8. web前端_DOM操作

    DOM(Document Object Model 文档对象模型) 一个web页面的展示,是由html标签组合成的一个页面,dom对象实际就是将html标签转换成了一个文档对象.可以通过dom对象中j ...

  9. Mybatis-Plus的BaseMapper的用法

    1.如何使用BaseMapper进行数据库的操作. 2.使用BaseMapper进行插入实体时如何让UUID的主键自动生成. Student实体类,其中id属性主键为UUID package com. ...

  10. PHP中变量声明和定义的区别

    先记录一下(不知道PHP是不是一样,但是C语言是这样的):把建立空间的声明称之为“定义”,而把不需要建立存储空间的声明称之为“声明”.声明的最终目的是为了提前使用,即在定义之前使用,如果不需要提前使用 ...