如何在反应本机中进行条件导航



你好,我正在尝试在反应本机中进行条件导航。在我的项目中,我列出了一组课程和类别,作为 api 获取请求的结果。因此,单击每个课程/类别后,它将导航到不同的屏幕。所以我想要的是单击第一个屏幕中的courses,我将获得当前所选项目的type,无论是course还是category。因此,如果所选项目是couse,我想导航到UnitListing屏幕,如果它是category我想导航到ChapterListing屏幕。怎么可能?

更新

navigatetoPage = (category) =>{
      const page = category.type == "course" ? "UnitListing" : "ChapterListing";
       this.props.navigation.navigate(page, {
              id: category.id,
              type: category.type
       })
 }
render(){
  return(
    <View style={st.main_outer}>
            {this.state.cats.map(category =>
                                 <TouchableOpacity
  style={st.btn} onPress={() => this.navigatetoPage({category})}>
  <Text style={{ color: "#fff" }}>View Course</Text>
</TouchableOpacity>
                                 )}
  </View>
  );
}

如何在此处执行条件导航?请帮助我找到解决方案。

你可以

像这样检查类型,也可以在JSX中导航。 但这要干净得多

 navigatetoPage(data){
    const page = data.type == "course" ? "UnitListing" : "ChapterListing";
     this.props.navigation.navigate(page, {
            id: data.id,
            type: data.type
     }) 
 }
 
 <TouchableOpacity
  style={st.btn} onPress={() => this.navigatetoPage(data)}>
  <Text style={{ color: "#fff" }}>View Course</Text>
</TouchableOpacity>

相关内容

  • 没有找到相关文章

最新更新