代码之家  ›  专栏  ›  技术社区  ›  Anu

如何在React Native中执行条件导航?

  •  0
  • Anu  · 技术社区  · 5 年前

    您好,我正在尝试在React Native中进行条件导航。在我的项目中,我列出了一组课程和类别,这是API获取请求的结果。因此,单击每个课程/类别后,它将导航到不同的屏幕。因此,我希望单击 courses 在第一屏我会得到 type 当前所选项目的 course category . 因此,如果所选项目是“cous”,我希望导航到 UnitListing 屏幕,如果是 类别 我想导航到 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>
      );
    }
    

    如何在这里进行条件导航?请帮我找到解决办法。

    1 回复  |  直到 5 年前
        1
  •  3
  •   Milore    5 年前

    您可以这样检查类型,也可以在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>