对不起,我的英语不好。我已经构建了一个导航栏,没有使用 React Navigation 中的选项卡导航,一切正常,除了当我尝试设置“活动”图标时,我已经用状态处理了它,但是当我导航到另一个窗口并再次渲染栏时,状态会重新启动导航。
我想我把它弄复杂了一点,但我需要捕获活动屏幕以将其作为状态传递,并将图标的颜色更改为“活动”,其他图标被禁用。我尝试过检测活动屏幕和 onDidFocus,但我只收到有关转换的信息,我需要屏幕的名称或 ID。
我留下我的代码(该组件被导出到我希望有导航栏的每个页面)。请注意,我们的想法是不要使用 React Native Navigation 中的选项卡导航。
export default class Navbar extends Component {
/** Navigation functions by clicking on the icon (image) */
_onPressHome() {
this.props.navigation.navigate('Main');
}
_onPressSearch() {
this.props.navigation.navigate('Main');
}
render() {
const { height, width } = Dimensions.get('window');
return (
<View style={{ flexDirection: 'row', height: height * .1, justifyContent: 'space-between', padding: height * .02 }}>
/** Icon section go Home screen */
<View style={{ height: height * .06, alignItems: 'center' }}>
<TouchableOpacity …Run Code Online (Sandbox Code Playgroud)