我已经做了一个主页,其中有三个按钮在标题(像一个标签导航器),我想在点击每个按钮的标题下出现一个屏幕,如下图所示:
以下是我的尝试:
constructor(props) {
super(props);
this.state = {
initialstate: 0, //Setting initial state for screens
};
}
render(){
return(
<View style={styles.container}>
<TouchableOpacity onPress={() => this.setState({ initialstate: 0})}>
<Image source={require('../../assets/add.png')}
resizeMode="contain"/>
</TouchableOpacity>
<TouchableOpacity onPress={() => this.setState({ cardstate: 1})}>
<Image source={require('../../assets/request.png')}
resizeMode="contain"/>
</TouchableOpacity>
<TouchableOpacity onPress={() => this.setState({ cardstate: 2})}>
<Image source={require('../../assets/send.png')}
resizeMode="contain"/>
</TouchableOpacity>
{this.state.initialstate == 0 ? ( <RequestComp/> ) : ( <TopUpComp/> ) }
//Over Here when I use the Third Screen like " : <SendComp/> " it gives me JSX error says "EXPECTED }"
</View>
2条答案
按热度按时间9udxz4iz1#
再见,你需要的似乎更像是一个从屏幕底部弹出的窗口。我使用react-native-popup-ui
Toast
组件来完成这个任务。例如:
结果是:
注:我有android和Taost是由android导航栏重叠,但在iOS上,你应该看到所有的
Toast
组件xriantvc2#
您正在使用三元运算符(初始值?true:在你的情况下,它只能对两个组件起作用。我也有同样的问题。我也想通过按不同的按钮来渲染3个组件。