阵营本地导航与终极版

问题描述:

我是新的阵营本地和终极版。我打算使用导航器组件进行导航。例如,有一个按钮。当它被按下时,应用程序将导航到另一个视图。我不知道我是否应该叫直接onPress或者我应该叫派遣第一,然后调用基于状态阵营本地导航与终极版

P.S.

例如,我有3个分量。一个是集装箱(LaunchContainer):

export default class LaunchContainer extends Component { 
    renderScene(route,navigator) { 
    return <route.component {...route.passProps} 
     title={route.name} navigator={navigator} /> 
    } 

    render() { 
    const initialScreen = FrontScreen 
    return (
     <Navigator style={{flex:1}} 
     initialRoute={{name:'Launch',component:initialScreen}} 
     renderScene={this.renderScene} />) 
    } 
} 
const screenSelector = (store) => { 
    return { 
    inLoginScreen: store.launch.isInLoginScreen 
    } 
} 

module.exports = connect(screenSelector)(LaunchContainer) 

容器内的初始画面FrontScreen

export default class FrontScreen extends Component { 

    render() { 
    return (
     <View style={styles.container}> 
      <TouchableHighlight onPress={()=> this.props.dispatch(switchToLogin())}> 
      <Text style={styles.btnText}>LOG IN</Text> 
      </TouchableHighlight> 
     </View> 
    ) 
    } 
} 

登录按钮点击后,我想通过推出LoginScreenLaunchScreen。如您所见,当用户单击登录按钮时,将会发出一个动作,然后selectScreen函数被reducer调用。

我的问题是如何以及何时应该推登录组件?

你发送你的组件内的操作。例如,您可以使用sagas来监听商店中的特定操作,然后执行基于承诺的(异步)操作。

function* saga_example() { 
    yield take('CHANGE_TO_HOME_SCENE') 
    yield put({ type: 'SHOW_WAITING_MODAL' }) 
    const response = yield call(expensiveFunction) 
    yield put({ type: 'EXPENSIVE_RESULT', response.data}) 
    yield put({ type: 'HIDE_WAITING_MODAL' }) 
}