নেই this.props.match.descriptionএকটি স্ট্রিং বা একটি বস্তু আছে কি? যদি এটি একটি স্ট্রিং হয় তবে এটি ঠিক সূক্ষ্মে HTML এ রূপান্তর করা উচিত। উদাহরণ:
class App extends React.Component {
constructor() {
super();
this.state = {
description: '<h1 style="color:red;">something</h1>'
}
}
render() {
return (
<div dangerouslySetInnerHTML={{ __html: this.state.description }} />
);
}
}
ReactDOM.render(<App />, document.getElementById('root'));
ফলাফল: http://codepen.io/ilanus/pen/QKgoLA?editors=1011
তবে যদি আপনি description: <h1 style="color:red;">something</h1>উদ্ধৃতিগুলি ''না পেয়ে থাকেন তবে:
Object {
$$typeof: [object Symbol] {},
_owner: null,
key: null,
props: Object {
children: "something",
style: "color:red;"
},
ref: null,
type: "h1"
}
যদি এটি একটি স্ট্রিং হয় এবং আপনি কোনও HTML মার্কআপ না দেখেন তবে আমি দেখি যে সমস্যাটি হ'ল ভুল মার্কআপ ..
হালনাগাদ
আপনি যদি HTMLEntitles নিয়ে কাজ করছেন। আপনার এগুলি প্রেরণের আগে তাদের ডিকোড করতে dangerouslySetInnerHTMLহবে এজন্য তারা এটিকে বিপজ্জনক বলে ডেকেছেন :)
কাজের উদাহরণ:
class App extends React.Component {
constructor() {
super();
this.state = {
description: '<p><strong>Our Opportunity:</strong></p>'
}
}
htmlDecode(input){
var e = document.createElement('div');
e.innerHTML = input;
return e.childNodes.length === 0 ? "" : e.childNodes[0].nodeValue;
}
render() {
return (
<div dangerouslySetInnerHTML={{ __html: this.htmlDecode(this.state.description) }} />
);
}
}
ReactDOM.render(<App />, document.getElementById('root'));