react-navigation, dispatch action to change scene - scene not showing -
i have setup substeps navigator below, first scene, pcdrinkingdays works fine. however, when click dispatch action, component change scene:
ondone = () => { this.props.dispatch(navigate(scenes.pc_help_me_calculate)); };` the pchelpmecalculate, doesn't appear, although can see renders in background setting breakpoints.
my navigator below. other scenes seem ok, moving first scene seems problem. can help? why isnt component showing?
import { substepsnavigator } '../../../navigators'; import pcdrinkingdays '../pcdrinkingdays'; import pchelpmecalculate '../pchelpmecalculate'; import pcunitscalculatorwhat '../pcunitscalculatorwhat'; import pcunitscalculatorsize '../pcunitscalculatorsize'; import pcunitscalculatorstrength '../pcunitscalculatorstrength'; import pcunitscalculatordrinksnumber '../pcunitscalculatordrinksnumber'; import pcunitscalculatortable '../pcunitscalculatortable'; import * scenes '../../../scenes'; const pcdrinkingscenes = { [scenes.pc_drinking_days]: { screen: pcdrinkingdays }, [scenes.pc_help_me_calculate]: { screen: pchelpmecalculate }, [scenes.pc_units_calculator_what]: { screen: pcunitscalculatorwhat }, [scenes.pc_units_calculator_size]: { screen: pcunitscalculatorsize }, [scenes.pc_units_calculator_strength]: { screen: pcunitscalculatorstrength }, [scenes.pc_units_calculator_drinks_number]: { screen: pcunitscalculatordrinksnumber, }, [scenes.pc_units_calculator_table]: { screen: pcunitscalculatortable }, }; function getstep(routename) { switch (routename) { case scenes.pc_drinking_days: case scenes.pc_help_me_calculate: case scenes.pc_units_calculator_what: case scenes.pc_units_calculator_size: case scenes.pc_units_calculator_strength: case scenes.pc_units_calculator_drinks_number: case scenes.pc_units_calculator_table: return 1; default: console.log(`err not found step route ${routename}`); return -1; } } const stepsoptions = { nsteps: 2, getstep, }; const pcdrinkingnavigator = substepsnavigator( pcdrinkingscenes, { navigationoptions: { gesturesenabled: false }, headermode: 'none' }, stepsoptions ); export default pcdrinkingnavigator; i dispatch action in component:
class pcdrinkingdays extends component { ondone = () => { this.props.dispatch(navigate(scenes.pc_help_me_calculate)); }; render() { return ( <sceneselectnumber goback={this.goback} onchangenumber={this.onchangenumber} selectednumbervalue={this.props.daysinaweek} ondone={this.ondone} sceneconfig={sceneconfig} /> ); } }
you seem dispatch action nowhere. should use
this.props.navigation.dispatch(navigate(scenes.pc_help_me_calculate)); or use
this.props.navigation.navigate(scenes.pc_help_me_calculate);
Comments
Post a Comment