2016-07-05 119 views
1

当我按下Backbutton时,它会切换回前一个屏幕,但也关闭应用。我已经尝试添加event.preventDefault(),但它不能解决我的问题。BackAndroid - 应用仍然关闭

componentWillMount() { 
 
    BackAndroid.addEventListener('hardwareBackPress',() => { 
 
     this.goBack(); 
 
    }) 
 
} 
 
    
 
goBack() { 
 
    this.props.actions.goBack(); 
 
} 
 

 
//Reducer 
 

 

 
export default function navReducer(state = initialState, action = {}) { 
 
    switch(action.type) { 
 
     case types.OPEN: 
 
      return { 
 
       scenes: [ 
 
        ...state.scenes, 
 
        {key: action.key, name: action.name} 
 
       ] 
 
      }; 
 
     case types.BACK: 
 
      if(state.scenes.length > 1) { 
 
       return { 
 
        scenes: state.scenes.slice(0, state.scenes.length - 1) 
 
       } 
 
      } else { 
 
       console.log('Error') 
 
      }; 
 
     default: 
 
      return state; 
 
    } 
 
}

回答

2

更新您的GoBack方法为:

goBack() { 
     this.props.actions.goBack(); 
     return true; 
    } 

你必须从GoBack方法返回true,否则将关闭该应用程序。

相关问题