如何根据已访问/安装的屏幕动态呈现导航按钮

时间:2019-04-24 20:31:22

标签: react-native navigation event-handling

我有一个“浏览”屏幕,其中显示3张卡的列表,每张卡导航到不同的类别。当您在“浏览”堆栈中来回导航时,我试图找到一种方法来根据访问堆栈中的类别来轮换卡片在“浏览”屏幕中呈现的顺序。

我试图找到一种通过给定路径名称this.props.navigation.state.routeName来引用屏幕的方法,但是如果“探索”屏幕在导航生命周期中仅安装一次,那么我将如何在“探索”屏幕上有条件地引用这些路由。 ?

/** 
 *   ExploreScreen.js (JSX)
 *   @todo rotate SingleActionCards based on if they've been visited. 
 *         If visited, card moves to bottom
 */
<Card>
  <View>
    <Button
      text={isFinishedQuiz ? 'QUIZ RESULTS' : 'TAKE THE QUIZ'}
      onPress={() =>
        navigation.navigate(appState.quiz.finished ? 'QuizResults' : 'QuizStart')
      }
    />
  </View>
</Card>

<SingleActionCard
  text="Explore Careers"
  onPress={() => navigation.navigate('Careers', { name: 'User' })}
/>
<SingleActionCard
  text="Explore Colleges"
  onPress={() => navigation.navigate('Colleges', { name: 'User' })}
/>
<SingleActionCard
  text="Explore Degrees and Programs"
  onPress={() => navigation.navigate('CollegeProgramCategories', { name: 'User' })}
/>

0 个答案:

没有答案