[英]Insert custom React component into a String variable with html content
我有一個包含 HTML 標簽的字符串,如下所示:
<div class="header">Hello!</div>
<div class="body">How are you?</div>
<div class="footer">Good bye!</div>
我需要用我的自定義反應組件替換<div class="body">How are you?</div>
。 我的反應組件使用從 API 動態獲取的數據顯示內容。 例如:
import React, { useState } from 'react';
import axios from 'axios';
export default function App(){
const [books, setBooks] = . useState(null);
const apiURL = "https://www.anapioficeandfire.com/api/books?pageSize=30";
const fetchData = async () => {
const response = await axios.get(apiURL)
setBooks(response.data)
}
return (
<div>
{books.map((book, index) => {
return <p key={index}>{book.title}</P>
})}
</div>
)
}
如何用反應組件替換 html 字符串並呈現 html 標簽和字符串中的新組件?
危險地使用dangerouslySetInnerHTML
<div dangerouslySetInnerHTML={html} />
您可以使用dangerouslySetInnerHTML
。 在此處查看文檔
return (
<div>
{books.map((book, index) => {
return <div key={index} dangerouslySetInnerHTML={{__html: book.title}}></div>
})}
</div>
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.