2014-11-24 4 views
6

Я хочу добавить компонент реакции, функцию комментариев, к нередательному сайту.Несколько экземпляров одного и того же реагирующего компонента

Сайт имеет страницу новостей с бесконечной прокруткой. Под каждой новостью я хочу включить компонент реагирующих комментариев. Я планирую моделировать его после учебника FB: http://facebook.github.io/react/docs/tutorial.html

Вопрос в том, как динамически смонтировать каждый компонент React в элемент истории DOM? В принципе, я хочу иметь много экземпляров одного и того же компонента комментариев комментариев, но каждый экземпляр привязан к уникальной истории (div).

Я думаю, что мне нужно визуализировать компонент реакции на стороне сервера, где я могу динамически установить React.renderComponent. Любые указатели/примеры оценены.

+0

@jason_gelinas Вы когда-нибудь получали эту работу? Я видел, что на одной странице конфликтуют имена с несколькими экземплярами, но ваш вариант использования - отличный для SEO. – YPCrumble

ответ

8

Когда сообщение добавляется вам необходимо иметь данные и узел целевой Dóm (мы будем называть эти переменные data и el)

React.render(<MyComponent data={data} />, el); 

Или без JSX

React.render(React.createElement(MyComponent, {data: data}), el); 

Для очистки вверху:

React.unmountComponentAtNode(el); 

Для оказания поддержки стороне сервера п делать:

React.renderToString(React.createElement(MyComponent, {data: data})) 

и до тех пор, как результат того, что в конечном итоге, как el на клиенте, вы можете смонтировать его с React.render, как упоминалось выше.

+2

Можно ли монтировать элементы React, как вы предлагаете несколько раз в одном DOM? Я думаю, что именно в этом вопросе конкретно спрашивают: «Я хочу иметь много примеров одного и того же компонента комментариев комментариев, но каждый экземпляр привязан к уникальной истории (div)» – YPCrumble

+4

Да, у вас могут быть сотни корней. – FakeRainBrigand

Смежные вопросы