我想将p打印为html,但它在我的网页中作为字符串打印,我应该做些什么才能在我的网页中打印为html对象下面给出了代码
const page_nav = () => {
var no=FilterBooks.length/20;
var p=''
for(var i=1;i<=no;i++){
p=p+'<li className="page-item" onClick=book1('+i+')><a className="page-link">'+i+'</a></li>'
}
return (p);
}
const bookl = (baselimit) => {
if (FilterBooks.length == 0) {
return (<p> No Books Found</p>
)
} else if(FilterBooks.length<20){
return( <div id="root"><Bookslist
filterbooks={FilterBooks}
/></div>)
}
else {
return (
<div id='bookdisplay'>
<div id="root"><Bookslist
filterbooks={FilterBooks.slice(baselimit,baselimit+20)}
/></div>
<nav aria-label="Page navigation example">
<ul class="pagination">
<li class="page-item">
<a class="page-link" href="#" aria-label="Previous">
<span aria-hidden="true">«</span>
</a>
</li>
{
page_nav()
}
{/* {<li class="page-item"><a class="page-link" href="#">1</a></li>
<li class="page-item"><a class="page-link" href="#">2</a></li>
<li class="page-item"><a class="page-link" href="#">3</a></li>} */}
<li class="page-item">
<a class="page-link" href="#" aria-label="Next">
<span aria-hidden="true">»</span>
</a>
</li>
</ul>
</nav>
</div>)
}有人能帮个忙吗??
发布于 2020-09-26 17:43:24
您不需要将字符串转换为HTML,只需呈现JSX:
// Same logic as page_nav()
<>
{[...Array(FilterBooks.length / 20).keys()].map((key) => (
<li className="page-item" key={key} onClick={() => bookl(key+1)}>
<a className="page-link">{key+1}</a>
</li>
))}
</>发布于 2020-09-26 17:38:56
您可以设置innerHTML,但我不建议您这样做,因为这很容易使您的用户无意中受到跨站点脚本(XSS)攻击:
<div dangerouslySetInnerHTML={{__html: '<strong>strong text</strong>'}} />您也可以尝试使用html-react-parser。
我只需要用JSX正确的方式就可以了。
https://stackoverflow.com/questions/64075999
复制相似问题