import React,{Component} from 'react';
import {AppRegistry,Text, TextInput,View} from 'react-native';
export default class PizzaTranslator extends Component {
constructor(props) {
super(props);
this.state = {text:''};
}
render() {
return (
<View style={{padding:10,flex:1,justifyContent:'center'}}>
<TextInput
style={{height:40}}
placeholder="Type here to translate!"
onChangeText={(text) => this.setState({text})}
/>
<Text style={{padding:10,fontSize:42}}>
{this.state.text.split(' ').map((word) => word && '??').join(' ')}
</Text>
</View>
);
}
}
關(guān)于{this.state.text.split(' ').map((word) => word && '??').join(' ')}這段代碼,可以理解為,text文本先根據(jù)空格分隔成數(shù)組,再通過(guò)map方法遍歷,其中map((word)=>部分,word是遍歷數(shù)組的item,=>代表匿名函數(shù),&&則表示符號(hào)前的值不為空時(shí),返回&&后的值。
javascript中,&&和||的用法比較神奇,經(jīng)常用在對(duì)象上,例如a || b,如果a不存在,則返回b。a && b,如果a存在,則返回b,否則返回a。