2014-11-24 19 views
6

Tôi muốn thêm thành phần phản ứng, tính năng nhận xét, vào trang web không phản ứng.Nhiều trường hợp của cùng một thành phần phản ứng

Trang web có trang tin tức với cuộn vô hạn. Dưới mỗi câu chuyện tin tức tôi muốn bao gồm các thành phần bình luận phản ứng. Tôi dự định mô hình hóa nó sau hướng dẫn FB tại đây: http://facebook.github.io/react/docs/tutorial.html

Câu hỏi của tôi là, làm cách nào để tự động gắn kết từng thành phần React vào phần tử DOM? Về cơ bản, tôi muốn có nhiều phiên bản của cùng một thành phần bình luận phản ứng, nhưng với mỗi cá thể gắn liền với một câu chuyện duy nhất (div).

Tôi nghĩ tôi cần hiển thị thành phần phản ứng ở phía máy chủ, nơi tôi có thể đặt động React.renderComponent. Bất kỳ con trỏ/ví dụ đánh giá cao.

+0

@jason_gelinas bạn đã bao giờ làm việc này chưa? Tôi đã thấy có những xung đột đặt tên với nhiều phiên bản trên một trang, nhưng trường hợp sử dụng của bạn là một trường hợp tuyệt vời cho SEO. – YPCrumble

Trả lời

8

Khi bài được thêm bạn cần phải có dữ liệu của bạn và nút đích dom (chúng tôi sẽ gọi cho các biến datael)

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

Hoặc không JSX

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

Để làm sạch lên:

React.unmountComponentAtNode(el); 

Để hiển thị bên máy chủ, bạn ca n làm:

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

và miễn là kết quả của sự kết thúc lên như el trên máy khách, bạn có thể gắn nó với React.render như đã đề cập ở trên.

+2

Bạn có thể gắn kết các yếu tố phản ứng như bạn đề xuất nhiều lần trong cùng một DOM không? Tôi nghĩ đó là câu hỏi đặt ra: "Tôi muốn có nhiều trường hợp của cùng một thành phần bình luận phản ứng, nhưng với mỗi cá thể gắn liền với một câu chuyện độc nhất (div)" – YPCrumble

+4

Vâng, bạn có thể có hàng trăm rễ. – FakeRainBrigand

Các vấn đề liên quan