javascript - 尝试将我从服务器获得的 HTML 代码转换为 Image ,但在 ReactJS 中给了我一个错误
问题描述
这基本上是一个自动在社交媒体上发布帖子的应用程序。我有一个存储在后端的垂直“Cablgram”的社交媒体帖子模板,该请求为我提供了该模板的 HTML 代码。当我尝试将该图像转换为图像(使用 domtoimage 库)以便显示它时,我收到此错误:dom-to-image.js:191 Uncaught (in promise) TypeError: node.cloneNode is not a功能。
import './Dashboard.css';
import { useEffect, useState } from 'react'
import { Grid, Image } from 'semantic-ui-react'
import axios from 'axios'
import domtoimage from 'dom-to-image'
import parse from 'html-react-parser'
function Dashboard(props) {
let [posts, setPosts] = useState([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
function retain(unsafe) {
return unsafe
.replaceAll("<", ' <')
.replaceAll(">", ' > ')
}
async function getPosts() {
let { data } = await axios.post('http://localhost:3000/templates/get', { vertical_name: 'cablgram' })
let articles = data.articles
let article_htmls = articles.map(async (code) => {
const html = retain(code)
const actual_html = parse(html)
const url = await domtoimage.toPng(wrapper)
return url
})
setPosts(article_htmls)
}
useEffect(() => {
getPosts()
}, [])
return (
<div className="Dashboard page-container">
<div className="title-container">
<h1 className="title">Atlas</h1>
</div>
<div className="subtitle-container">
<span className="subtitle">Curated news from contemporary culture.</span>
</div>
<div className="dashboard-grid-container">
<Grid columns={3}>
{
posts.map((post, index) => (
<Grid.Column key={index}>
{post}
</Grid.Column>
))
}
</Grid>
</div>
</div>
)
}
export default Dashboard
有人可以向我解释什么是错的,我该如何解决这个问题?
解决方案
试试这个:
// Syntax:
let newClone = node.cloneNode([deep])
// Example:
let p = document.getElementById("para1")
let p_prime = p.cloneNode(true)
推荐阅读
- prolog - 在 Prolog 中导出相同谓词的模块
- excel - 从左到右对多行进行排序
- image - 图像 uri 未按预期工作 - React Native
- ansible - 在 Ansible 剧本中循环列表数据
- mysql - mysql - 选择image_url = 0但返回所有行?
- r - Bookdown:导出到 word 文档(files2[[format]] 中的错误:尝试在 get1index 中选择少于一个元素)
- numpy - 如何使用 matplotlib 在 scipy python 中绘制隐式函数(带有两个变量)?
- node.js - 使用正则表达式的事件 Redis 键空间通知
- c++ - '
': 无法从 'initializer list' 转换为 'std::shared_ptr ' 关于使用自定义删除器创建 shared_ptr - java - 返回 null 作为响应