Html 如何在由createElement()创建的React中呈现元素?
我使用以下方法创建了一个图像元素:Html 如何在由createElement()创建的React中呈现元素?,html,reactjs,dom,components,render,Html,Reactjs,Dom,Components,Render,我使用以下方法创建了一个图像元素: const image = document.createElement('image'); // or new Image(); 如何在React中呈现此图像变量 我不想使用Html标记执行以下操作: <img src={image.src} ... /> 还有其他方法吗?好吧,要么创建一个,然后使用 document.querySelector(“.parent”).appendChild(imageElement) 或者简单地说 do
const image = document.createElement('image'); // or new Image();
如何在React中呈现此图像
变量
我不想使用Html标记执行以下操作:
<img src={image.src} ... />
还有其他方法吗?好吧,要么创建一个
,然后使用
document.querySelector(“.parent”).appendChild(imageElement)
或者简单地说
document.appendChild(imageElement)
这样做是错误的。您不应该直接使用React操作DOM。我希望在您的状态中有一个对象数组,在您的组件中,将对象映射到您选择的元素。像这样
const Component = () => {
const [components, setComponents] = useState([{src:'path/to/src', alt:'altTag'}])
return(
<>
{
components.map(e => {
return(<img src={require(e.src)} alt={e.alt} />)
})
}
</>
)
}
const组件=()=>{
const[components,setComponents]=useState([{src:'path/to/src',alt:'altTag'}])
返回(
{
components.map(e=>{
返回()
})
}
)
}
这是根据记忆写的/没有经过测试,所以可能有问题,所以不要杀我。但如果您需要在任何地方渲染它,请将其作为自己的组件。如果它确实只是一个图像,那么您不需要数组/贴图,只需使用一个对象并以相同的方式渲染它即可,但我不想附加它。我希望能够在任何地方渲染它。然后让它成为自己的组件@但是为什么创建一个组件并在任何地方使用它呢。这就是React的意义所在。如果没有,则使用上述方法。