react实现数据监听方式
更新时间:2022年08月08日 15:41:57 作者:神奇大叔
这篇文章主要介绍了react实现数据监听方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
react 数据监听
监听组件传递的值:
componentWillReceiveProps(newProps)
{
参数为给组件传递的参数
}监听组件内部状态的变化:
componentDidUpdate(prevProps,prevState){
参数分别为改变之前的数据状态对象
if(prevState.属性名!=this.state.属性名)
{
...
}
}react事件监听三种写法
方式一
在constructor中使用bind绑定,改变this的指向
import React, { Component } from 'react';
export default class Group extends Component {
constructor(props) {
super(props);
this.state = {
show: true,
title: '大西瓜'
};
// 写法一:事件绑定改变this指向
this.showFunc = this.showFunc.bind(this);
}
// 调用该方法
showFunc() {
this.setState({
show: false
});
}
render() {
let result = this.state.show ? this.state.title : null;
return (
<div>
<button onClick={this.showFunc}>触发</button>
{result}
</div>
);
}
}方式二
通过箭头函数改变this指向
import React, { Component } from 'react';
export default class Group extends Component {
constructor(props) {
super(props);
this.state = {
show: true,
title: '大西瓜'
};
}
// 第二种,通过箭头函数改变this指向
showFunc = () => {
this.setState({
show: false
});
};
render() {
let result = this.state.show ? this.state.title : null;
return (
<div>
<button onClick={this.showFunc}>触发</button>
{result}
</div>
);
}
}方式三
直接使用箭头函数改变this的指向
import React, { Component } from 'react';
export default class Group extends Component {
constructor(props) {
super(props);
this.state = {
show: true,
title: '大西瓜'
};
}
// 调用该方法
showFunc() {
this.setState({
show: false
});
}
render() {
let result = this.state.show ? this.state.title : null;
return (
<div>
<button onClick={() => this.showFunc()}>触发</button>
{result}
</div>
);
}
}以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
React函数式组件Hook中的useEffect函数的详细解析
useEffect是react v16.8新引入的特性。我们可以把useEffect hook看作是componentDidMount、componentDidUpdate、componentWillUnmounrt三个函数的组合2022-10-10
React Hooks使用startTransition与useTransition教程示例
这篇文章主要为大家介绍了React Hooks使用startTransition与useTransition教程示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-01-01


最新评论