3

React Native Navigator コンポーネントでエラーが発生するのはなぜrouteですか? undefined正しい情報を発信していると思っていたのですが、違うのでしょうか? どんな助けでも大歓迎です。私は Web での作業に慣れているので、React Native は大きな変化です。

そう...

SplashContainerコンポーネントからコンポーネントに移動したいSignUpForm。だからSplashContainer私はこれをします...

class SplashContainer extends Component {
    handleLoginFinished = () => {
        this.props.dispatch(handleAuthWithFirebase())
    }
    handleToSignUp = () => {
        this.props.navigator.push({
            signUpForm: true
        });
    }
    handleToSignIn = () => {
        this.props.navigator.push({
            signIn: true
        })
    }
    render () {

        return (
            <Splash onLoginFinished={this.handleLoginFinished} goToSignUp={this.handleToSignUp} goToSignIn={this.handleToSignIn} />
        )
    }
}

export default connect()(SplashContainer)

次に、React Native Navigator でこれを行います...

export default class NimbusNavigator extends Component {
    static propTypes = {
        isAuthed: PropTypes.bool.isRequired
    }
    renderScene = (route, navigator) => {
        // Keeps track of whether user is Authed or not. 
        if (this.props.isAuthed === false) {
            return <SplashContainer navigator={navigator}/>
        } else if (route.signUpForm === true) {
            return <SignUpForm navigator={navigator}/>
        }

        return <FooterTabsContainer navigator={navigator} />
    }
    configureScene = (route) => {

    }
    render () {
        return (
            <Navigator
                configureScene={this.configureScene}
                renderScene={this.renderScene}
            />
        )
    }
}
4

2 に答える 2

0

通常、ナビゲーションは次のように設定されます。

  handleToSignUp = () => {
        this.props.navigator.push({
            name: 'signUpForm'
        });
    }

///

renderScene = (route, navigator) => {
    // Keeps track of whether user is Authed or not. 
    if (this.props.isAuthed === false) {
        return <SplashContainer navigator={navigator}/>
    } else if (route.name === 'signUpForm') {
        return <SignUpForm navigator={navigator}/>
    }

    return <FooterTabsContainer navigator={navigator} />
}
于 2017-01-05T23:35:59.347 に答える