react.js - 新学react-native 看了一点非常不理解,请帮忙解决初级问题
本文介绍了react.js - 新学react-native 看了一点非常不理解,请帮忙解决初级问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
import React, { Component } from 'react';
import { AppRegistry, Text, View } from 'react-native';
class Blink extends Component {
constructor(props) {
super(props);
this.state = { showText: true };
// 每1000毫秒对showText状态做一次取反操作
setInterval(() => {
this.setState(previousState => {
return { showText: !previousState.showText };
});
}, 1000);
}
render() {
// 根据当前showText的值决定是否显示text内容
let display = this.state.showText ? this.props.text : ' ';
return (
<Text>{display}</Text>
);
}
}
class BlinkApp extends Component {
render() {
return (
<View>
<Blink text='I love to blink' />
<Blink text='Yes blinking is so great' />
<Blink text='Why did they ever take this out of HTML' />
<Blink text='Look at me look at me look at me' />
</View>
);
}
}
AppRegistry.registerComponent('BlinkApp', () => BlinkApp);
这个是在教程state那一块的代码, previousState是什么??和state是什么关系?
this.setState(previousState => {
return { showText: !previousState.showText };
});
还有这段应该怎么理解? 如果说是要把state 每隔1秒设置成上一次状态相反的话,那 "previousState =>" 这样写是什么意思?按照常理的逻辑这样不就是设置state成上一个state 的相反值了吗?(可能语法格式上有问题)
this.setState({
return {showText: !previousState.showText}
});
解决方案
react native是用ES6语法写的。这是ES6语法 箭头函数。
http://es6.ruanyifeng.com
这篇关于react.js - 新学react-native 看了一点非常不理解,请帮忙解决初级问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文