Vì vậy, đây có phải là cách duy nhất để hiển thị html thô với reactjs không?Hiển thị html thô với reactjs
// http://facebook.github.io/react/docs/tutorial.html
// tutorial7.js
var converter = new Showdown.converter();
var Comment = React.createClass({
render: function() {
var rawMarkup = converter.makeHtml(this.props.children.toString());
return (
<div className="comment">
<h2 className="commentAuthor">
{this.props.author}
</h2>
<span dangerouslySetInnerHTML={{__html: rawMarkup}} />
</div>
);
}
});
Tôi biết có một số cách thú vị để đánh dấu nội dung với JSX, nhưng tôi chủ yếu quan tâm đến việc có thể hiển thị html thô (với tất cả các lớp, kiểu nội tuyến, v.v.). Một cái gì đó phức tạp như thế này:
<!-- http://getbootstrap.com/components/#dropdowns-example -->
<div class="dropdown">
<button class="btn btn-default dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-expanded="true">
Dropdown
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="dropdownMenu1">
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Action</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Another action</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Something else here</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="#">Separated link</a></li>
</ul>
</div>
Tôi sẽ không muốn viết lại tất cả điều đó trong JSX.
Có lẽ tôi đang nghĩ về điều này tất cả đều sai. Hãy sửa tôi.
Đó là gần JSX. Nếu bạn hiển thị nhiều đánh dấu dưới dạng HTML thô, bạn sẽ mất lợi ích khi sử dụng thư viện như React. Tôi khuyên bạn nên thực hiện các thay đổi nhỏ (như "class" -> "className") để React xử lý các phần tử. –
Đối với ví dụ cụ thể này, ai đó đã [đã thực hiện công việc cho bạn] (http://react-bootstrap.github.io/components.html#btn-dropdowns), tuy nhiên câu hỏi vẫn là viết tắt của trường hợp chung. –
https://medium.com/@to_pe/how-to-add-react-to-a-simple-html-file-a11511c0235f – TechDog