Heim  >  Artikel  >  Web-Frontend  >  Warum benötigen benachbarte JSX-Elemente umschließende Tags in React.js?

Warum benötigen benachbarte JSX-Elemente umschließende Tags in React.js?

Susan Sarandon
Susan SarandonOriginal
2024-11-01 17:09:02197Durchsuche

Why Do Adjacent JSX Elements Need Enclosing Tags in React.js?

Benachbarte JSX-Elemente erfordern ein umschließendes Tag

Beim Erstellen von React.js-Komponenten muss unbedingt sichergestellt werden, dass benachbarte JSX-Elemente in ein umschließendes Tag eingeschlossen sind Tag, um Analysefehler zu vermeiden.

Im bereitgestellten Code-Snippet wird das Fehler:

Uncaught Error: Parse Error: Line 38: Adjacent JSX elements must be wrapped in an enclosing tag

gibt an, dass das bedingte Rendering der if-Anweisung dazu führt, dass die div-Elemente ohne einen umschließenden Container gerendert werden. Um dieses Problem zu beheben, ist es notwendig, diese Elemente in ein geeignetes Tag zu packen, z. B. ein div:

<code class="jsx">if (this.state.submitted === false) {
  return (
    <div>
      <input
        type="email"
        className="input_field"
        onChange={this._updateInputValue}
        ref="email"
        value={this.state.email}
      />
      <ReactCSSTransitionGroup
        transitionName="example"
        transitionAppear={true}
      >
        <div className="button-row">
          <a href="#" className="button" onClick={this.saveAndContinue}>
            Request Invite
          </a>
        </div>
      </ReactCSSTransitionGroup>
    </div>
  );
}</code>

Alternativ können Sie die Fragments-API verwenden, um einen umschließenden Kontext zu erstellen, ohne dem DOM unnötige Elemente hinzuzufügen :

<code class="jsx">if (this.state.submitted === false) {
  return (
    <React.Fragment>
      <input
        type="email"
        className="input_field"
        onChange={this._updateInputValue}
        ref="email"
        value={this.state.email}
      />
      <ReactCSSTransitionGroup
        transitionName="example"
        transitionAppear={true}
      >
        <div className="button-row">
          <a href="#" className="button" onClick={this.saveAndContinue}>
            Request Invite
          </a>
        </div>
      </ReactCSSTransitionGroup>
    </React.Fragment>
  );
}</code>

Das obige ist der detaillierte Inhalt vonWarum benötigen benachbarte JSX-Elemente umschließende Tags in React.js?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn