Как сделать условную навигацию в реагировать на родную? - PullRequest
0 голосов
/ 18 января 2019

Здравствуйте, я пытаюсь сделать условную навигацию в реагировать на нативную. В моем проекте я перечисляю набор курсов и категорий в результате запроса выборки 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>
  );
}

Как мне сделать условную навигацию здесь? Пожалуйста, помогите мне найти решение.

1 Ответ

0 голосов
/ 18 января 2019

вы можете проверить тип, как этот способ и перемещаться также вы можете сделать в 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>
...