React组件创建与事件绑定

周末在家,练习React,记录下来,方便查看。
本期学习React组件创建、事件绑定和状态state基本使用。

1、组件创建方式
方式一、函数创建组件

使用JS函数或箭头函数创建组件,又叫无状态组件,只负责数据的展示。
约定1:函数名必须是大写字母开头
约定2:函数组件必须有返回值,表示该组件的结构
如果返回值为null,则不渲染任何内容
参考代码如下图所示。

// 方式1:JS函数
function Hello(){
	return (
		<div>函数组件</div>
	)
}
// 方式2:箭头函数
const Hello = () => <div>函数组件</div>
// 渲染函数组件
ReactDOM.render(<hello />,document.getElementById('root'))
方式二、使用类创建组件

使用ES6的class创建的组件,又叫有状态组件,负责更新UI,让页面“动起来”。
约定1:类名必须是大写字母开头
约定2: 类组件应该继承 React.Component 父类,可使用父类提供的方法和属性;
约定3:类组件必须提供render() 方法;
约定4:render 方法必须有返回值,表示该组件结构。
参考代码如下图所示。

class Hello extends React.Component {
	render(){
		return  <div>类组件</div>
	}
}
// 渲染函数组件
ReactDOM.render(<hello />,document.getElementById('root'))
2、事件绑定

React 事件绑定与DOM时间语法相似。
语法:on+事件名称={事件处理程序} 如 onClick={() => {}}
注意:React 事件采用驼峰命名法,如 onMouseEnter

方式一、类组件绑定事件

通过 this 关键字 获取事件处理程序。

// 类组件绑定事件
class APP extends React.Component{
	// 事件处理程序
	handleClick(){
	console.log('类组件中事件处理函数')
	}
	render() {
		return (
			<button onclick={this.handleClick}>点我</button>
		)
	}
}
// 渲染函数组件
ReactDOM.render(<APP />,document.getElementById('root'))
方式二、函数组件绑定事件

函数定义用 function,直接通过 函数名 即可获取事件处理程序。

// 函数组件绑定事件
function APP(){
	// 事件处理程序
	function handleClick(){
		console.log('函数组件中事件处理函数')
	}
	return (
		<button onclick={handleClick}>点我</button>
	)
}
// 渲染函数组件
ReactDOM.render(<APP />,document.getElementById('root'))
3、状态state基本使用

state 状态即数据,是组件内部的私有数据,只能在组件内部使用
通过 this.state 获取状态的值。

// 类组件绑定事件
class APP extends React.Component{
	// 方式一、constructor 初始化state
	constructor(){
		super()
		this.state = { count : 0 }
	}
	// 方式二、初始化state
	state = {
		count : 10
	}
	render() {
		return (
			<div>
				<h1>当前state的值为:{this.state.count}</h1>
			</div>
		)
	}
}
// 渲染函数组件
ReactDOM.render(<APP />,document.getElementById('root'))
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值