摘要
- 事件处理
- 函数柯里化
- 生命周期
事件处理
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<!--准备好一个容器-->
<div id="test"></div>
<script type="text/javascript" src="../js/react.development.js"></script>
<script type="text/javascript" src="../js/react-dom.development.js"></script>
<script type="text/javascript" src="../js/babel.min.js"></script>
<script type="text/babel">
class Demo extends React.Component{
/**
* 调用后返回一个容器
*/
myRef = React.createRef()
showdata = () => {
alert(this.myRef.current.value)
}
showdata2 = (event) => {
alert(event.target.value)
}
render(){
return(
<div>
<input ref={this.myRef} type="text" placeholder="点击按钮提示左侧数据"/>
<button onClick={this.showdata}>点我提示左侧的数据</button>
<input onBlur={this.showdata2} type="text"/>
</div>
)
}
}
ReactDOM.render(<Demo/>,document.getElementById("test"))
</script>
</body>
</html>
函数柯里化
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<!--准备好一个容器-->
<div id="test"></div>
<script type="text/javascript" src="../js/react.development.js"></script>
<script type="text/javascript" src="../js/react-dom.development.js"></script>
<script type="text/javascript" src="../js/babel.min.js"></script>
<script type="text/babel">
class Login extends React.Component{
state = {
username:'',
password:''
}
saveFormData = (dataType) => {
return (event) => {
this.setState({[dataType]:event.target.value})
}
}
showdata = (event) =>{
event.preventDefault() //阻止表单提交
const { username,password } = this.state
alert(`username ${username} password ${password}`)
}
render(){
return(
<form onSubmit={this.showdata}>
<input onChange={this.saveFormData('username')} type="text" name="username" />
<input onChange={this.saveFormData('password')} type="password" name="password"/>
<button>登录</button>
</form>
)
}
}
ReactDOM.render(<Login/>,document.getElementById("test"))
</script>
</body>
</html>
5 条评论
早上怎么打不开?
CDN出了点意外
滴!学生卡!打卡时间:下午11:47:47,请上车的乘客系好安全带~
牛逼
滴!学生卡!打卡时间:下午6:20:04,请上车的乘客系好安全带~