2014-11-24 21 views
6

Chcę dodać komponent reagowania, funkcję komentarzy do witryny, która nie odpowiada.Wiele instancji tego samego komponentu reagowania

Witryna ma stronę z nowymi wiadomościami z nieskończonym przewijaniem. Pod każdą wiadomością chcę uwzględnić komponent komentarzy dotyczących reakcji. Mam zamiar go zamodelować po tutorialu FB tutaj: http://facebook.github.io/react/docs/tutorial.html

Moje pytanie brzmi: jak dynamicznie montować każdy komponent React do elementu historii DOM? Zasadniczo chcę mieć wiele instancji tego samego komponentu komentarzy, ale z każdą instancją powiązaną z unikalną historią (div).

Myślę, że muszę renderować komponent reagowania po stronie serwera, gdzie mogę dynamicznie ustawiać React.renderComponent. Wszelkie wskaźniki/przykłady docenione.

+0

@jason_gelinas czy kiedykolwiek to zadziałało? Zauważyłem, że na jednej stronie występują konflikty nazw z wieloma wystąpieniami, ale Twój przypadek użycia jest świetny dla SEO. – YPCrumble

Odpowiedz

8

Gdy jest dodawany trzeba mieć swoje dane i węzeł docelowy DOM (będziemy nazywać te zmienne data i el)

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

lub bez JSX

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

Aby oczyścić w górę:

React.unmountComponentAtNode(el); 

Po stronie serwera renderowanie ca n zrobić:

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

i tak długo jak wynik, który kończy się jak el na kliencie, można go zamontować z React.render jak wspomniano powyżej.

+2

Czy można montować elementy React, tak jak sugerujesz wiele razy w tym samym DOM? Myślę, że właśnie to pytanie zadaje konkretnie: "Chcę mieć wiele przykładów tego samego komponentu komentarzy, ale z każdą instancją związaną z unikalną historią (div)" – YPCrumble

+4

Tak, możesz mieć setki korzeni. – FakeRainBrigand

Powiązane problemy