本文小编为大家详细介绍“react实现数据监听方式是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“react实现数据监听方式是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
监听组件传递的值:
componentWillReceiveProps(newProps)
{
参数为给组件传递的参数
}
监听组件内部状态的变化:
componentDidUpdate(prevProps,prevState){
参数分别为改变之前的数据状态对象
if(prevState.属性名!=this.state.属性名)
{
...
}
}
在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实现数据监听方式是什么”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。