是否可以检查反应导航堆栈中的屏幕数量?我需要在标题中仅为堆栈中的第一个屏幕显示徽标组件。
是的你可以。您可以使用
let index = this.props.navigation.dangerouslyGetParent().state.index;
获取堆栈中的索引。如果索引为0,那么您将位于堆栈的第一个屏幕上。
你可以阅读更多关于它here。您的用例正是这样的:
另一个很好的用例是在父路由列表中找到活动路由的索引。因此,如果您在索引0处于堆栈的情况下,那么您可能不想渲染后退按钮,但如果您在列表中的其他位置,那么您将渲染后退按钮。
请记住确保调用返回有效值。