У меня есть компонент, представляющий страницу с несколькими компонентами SectionHeader в качестве дочерних элементов этой страницы. Я хочу динамически создавать оглавление, проверяя дочерние страницы страницы, которые являются SectionHeaders.Создание динамического оглавления в ReactJS
<Page>
<TaleOfContents sections={this.props.children} />
<SectionHeader title={"Section A"} />
<TextBlock>
<p> Text here. </p>
</TextBlock>
<SectionHeader title={"Section B"} />
<TextBlock>
<p> Text here. </p>
</TextBlock>
</Page>
К сожалению, this.props.children
не определен. Есть ли способ динамически получить этих детей страницы и отобразить их в TableOfContents?
Редактировать: Вот мой компонент страницы. Это действительно просто большой метод визуализации, чтобы связать кучу других компонентов вместе.
/** @jsx React.DOM */
var React = require('react/addons');
// COMPONENTS
var TextBlock = require('../text_block.jsx');
var PaperHeader = require('../header_paper.jsx')
var SectionHeader = require('../header_section.jsx');
var TableOfContents = require('../table_of_contents.jsx');
var Page = React.createClass({
render: function() {
return (
<div>
<PaperHeader
title={"Page Title"}
authors={["Cole Gleason"]}
/>
<SectionHeader
title={'First Section'}
size={'large'}
/>
<TextBlock
key={"text_first"}
>
<p>
Text goes here.
</p>
</TextBlock>
<this.props.activeRouteHandler/>
</div>
);
}
});
module.exports = Page;
Можете ли вы добавить объект своей страницы? – nathancahill
Вы можете использовать Relfux или Flux для этого, но ваш код является неполным. Пожалуйста, добавьте больше кода и объясните, что именно вы делаете, что вы получаете ошибку. – Bazinga777
Добавлен компонент страницы, но его не так много. Это всего лишь способ связать весь контент вместе. Я использую его вместо шаблонов двигателя и т. Д. –