React的UI显示都是由数据驱动UI,所以当需要改变UI的显示时,应该改变的是组件的state,而不应该直接操作DOM,这跟传统的JQuery是很不一样的。
下边的例子就是一个根据数据显示的内容,把需要按照数据控制显示的内容放在函数里。
class MyClass extends Component {
state={
showContent: false
}
//把需要控制显示的内容剥离开到函数
renderContent() {
if(this.state.showContent){
return <Text>这是内容</Text>
}
}
render() {
return (<View>
{this.renderContent()}
</View>);
}
}
有时可能需要渲染一个数组里的数据,比较好的办法就是把JSX放到一个数组里,然后再返回,以下是例子:
class MyClass extends Component {
state={
data: [1,2,3,4,5]
}
//这里渲染了一个数组的内容并进行返回。
renderArray(data) {
var jsx = [];
data.map((item, index)=> {
jsx.push(<Text>item</Text>)
}
return jsx;
}
render() {
return (<View>
{this.renderArray(this.state.data)}
</View>);
}
}