переключаться между входом в регистр и домом реагировать через троичного оператора - PullRequest
0 голосов
/ 06 ноября 2018

Я пытаюсь переключаться между регистрацией, регистрацией и формой домашней страницы, используя троичный оператор. Но, когда я компилирую, появляется ошибка, говорящая 'this.state.route === signIn', что это зарезервированное ключевое слово. Я знаю, что такое зарезервированное ключевое слово, но я не могу понять, почему его присваивают вместо проверки условия, может ли кто-нибудь помочь исправить мой код?

<Navigation onRouteChange={this.onRouteChange}/> /*route change for sign out button*/
    { this.state.route === 'home'/*displays homescreen*/
        ?  <div>
            <Logo />
               <Rank />
                 <ImageLinkForm 
                 onInputChange={this.onInputChange} 
                 onSubmit={this.onSubmit}
                 />
                     <FaceRecognition box={this.state.box} 
                       imageUrl=  {this.state.imageUrl} />  
                      </div>
        :{ 
            this.state.route === 'signIn'/*shows error that this is a reserved keyword*/
            ? <SignIn onRouteChange={this.onRouteChange} />
            :<Register onRouteChange={this.onRouteChange} />
        }
   }

1 Ответ

0 голосов
/ 06 ноября 2018

Кажется, после двоеточия есть дополнительная фигурная скобка. Также попробуйте разделить объекты, используя круглые скобки для удобства чтения. Попробуйте это:

   <Navigation onRouteChange={this.onRouteChange} />
     {this.state.route === 'home' ? (
       <div>
         <Logo />
         <Rank />
         <ImageLinkForm 
           onInputChange={this.onInputChange} 
           onSubmit={this.onSubmit}
         />
         <FaceRecognition box={this.state.box} imageUrl={this.state.imageUrl} />  
       </div>
     ) : (
       this.state.route === 'signIn
         ? <SignIn onRouteChange={this.onRouteChange} />
         : <Register onRouteChange={this.onRouteChange} />
     )}
...