Kann ein reagieren Komponente haben mehrere Bereiche für Kind Inhalt?

Sagen wir, ich habe eine einfache reagieren Komponente:

import React from 'react';
import styles from "./index.css";

export default React.createClass({
  render: function() {
    return (
      <header className={styles.root}>
        //area for child content
        {this.props.children}
      </header>
    );
  }
});

Nehmen wir jetzt an, dass anstelle einer Fläche für jedes Kind-Komponenten, ich möchte zwei, etwa so:

import React from 'react';
import styles from "./index.css";

export default React.createClass({
  render: function() {
    return (
      <header className={styles.root}>
        <div className={styles.logo}>
          //logo children here
        </div>
        <div>
          //navigation children here
        </div>
      </header>
    );
  }
});

Ich weiß, dass ich verwenden könnte, Attribute, doch das wäre nicht sehr elegant, für einen großen Teil des html-Inhalts. Wie kann das getan werden, reagieren in einer Weise, die ähnlich ist, zum Beispiel, die benannte Blöcke in Schluck?


Beispiel von benannten Blöcken:

{% extends 'layout.html' %}

{% block title %}My Page{% endblock %}

{% block head %}
  {% parent %}
  <link rel="stylesheet" href="custom.css">
{% endblock %}

{% block content %}
<p>This is just an awesome page.</p>
{% endblock %}

Sehen Sie, dass diese Blöcke können verwendet werden, indem Sie auf Ihren Namen, und damit zu 'Ertrag' in mehreren Bereichen von Inhalten. Ich bin der Hoffnung, dass es eine ähnlich elegante Weise reagieren, um dies zu tun, da es macht die Bauteile sehr zusammensetzbar.

  • Wenn Sie sagen, "ich weiß, ich könnte die Attribute" - meinst du props? Warum wäre das nicht elegant?
  • Ja, die Eigenschaften, die definiert sind in der tag -<ReactComponent property="a large amount of html here wouldn't be very maintainable" />.
  • Dein Beispiel von benannten Blöcken sieht aus wie Django, nicht einen Schluck?
InformationsquelleAutor | 2016-06-26
Schreibe einen Kommentar