你可以這樣做。不要忘記在你的JSX組件之前放置「return」。
例子:
render() {
if(this.state.page === 'news') {
return <Text>This is news page</Text>;
} else {
return <Text>This is another page</Text>;
}
}
實例從互聯網上獲取的數據:
import React, { Component } from 'react';
import {
View,
Text
} from 'react-native';
export default class Test extends Component {
constructor(props) {
super(props);
this.state = {
bodyText: ''
}
}
fetchData() {
fetch('https://example.com').then((resp) => {
this.setState({
bodyText: resp._bodyText
});
});
}
componentDidMount() {
this.fetchData();
}
render() {
return <View style={{ flex: 1 }}>
<Text>{this.state.bodyText}</Text>
</View>
}
}
我可以這樣嗎?渲染(){ 回報( <查看風格= {} styles.container> 如果(this.state == '新聞'){ 回報(數據 ) } –
user8026867
所以返回內部返回是可能的嗎?或者在同一個渲染函數場景中有兩個不同的返回值我需要改變返回 – user8026867
的子內容是可以的,但是,直接以不同的方式,我們不能在JSX中使用if/else,因此使用三元運算符來處理條件,使用這個:'render(){ \t return( \t \t \t \t \t {this.state =='news'? 數據 :空} \t \t \t) }' –