React native react navigation中导航堆栈中的第一个屏幕
是否可以检查react导航堆栈中的屏幕数?我只需要在堆栈的第一个屏幕的标题中显示徽标组件。可以。你可以用React native react navigation中导航堆栈中的第一个屏幕,react-native,react-navigation,React Native,React Navigation,是否可以检查react导航堆栈中的屏幕数?我只需要在堆栈的第一个屏幕的标题中显示徽标组件。可以。你可以用 let index = this.props.navigation.dangerouslyGetParent().state.index; 获取堆栈中的索引。如果索引为0,则位于堆栈的第一个屏幕上 你可以阅读更多关于它的内容。您的用例正是它的用途: 另一个很好的使用案例是查找活动对象的索引 父级路由列表中的路由。因此,在堆栈的情况下,如果 在索引0处,可能不希望渲染“后退”按钮,但如果
let index = this.props.navigation.dangerouslyGetParent().state.index;
获取堆栈中的索引。如果索引为0,则位于堆栈的第一个屏幕上
你可以阅读更多关于它的内容。您的用例正是它的用途:
另一个很好的使用案例是查找活动对象的索引
父级路由列表中的路由。因此,在堆栈的情况下,如果
在索引0处,可能不希望渲染“后退”按钮,但如果
如果您在列表中的其他位置,则将呈现“后退”按钮
请记住,确保调用返回有效值。Andrew解决方案对您来说效果很好,但是那些想要获得更新状态的人必须使用useNavigationState,相应地,导航文档: 函数的作用是:返回当前的导航状态。主要区别在于,当值更改时,useNavigationState钩子将触发重新呈现,而navigation.DangerlyGetState()不会 就像这样使用:
const index = useNavigationState(state => state.index);
这正是我想要的,@Andrew mant,谢谢;)