javascript - ReactJS - 从 innerHtml 函数返回一个组件

标签 javascript reactjs

如何通过JS的innerHTML()函数返回一个组件?使用下面的代码,它返回到浏览器屏幕上: [对象对象]

document.getElementById("threeline-icon").innerHTML =
        `${<ThreelineIcon />}`
        ;
    }

组件代码:

import React from 'react'

const ThreelineIcon = () => {
  return ( 
    <div>
    <span className="top"></span>
    <span className="middle"></span>
    <span className="bottom"></span>     
    </div>
  )
}

export default ThreelineIcon

最佳答案

您可以使用服务器端渲染使用的 renderToString 方法将 React 组件转换为 HTML。但请记住,这仅在您的组件是静态的时有效,我的意思是任何事件或生命周期方法(componentWillMount 除外)都将无效。

import ReactDOMServer from 'react-dom/server';
document.getElementById("threeline-icon").innerHTML =
    ReactDOMServer.renderToString(<ThreelineIcon />);

关于javascript - ReactJS - 从 innerHtml 函数返回一个组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56984267/

相关文章:

javascript - Ipinfo.io Geolocation 在 JSfiddle 中工作,但在 Codepen 中不工作

javascript - 实现用于输入数学公式的 GUI 的简单方法?

javascript - 获取对象数组内对象属性的值

javascript - 给定来自 API 的 JSON 数据,在 React 中动态呈现数据网格/表格

javascript - 使用左右控件循环图像

javascript - 新标签页上动态 URL 的 Chrome 扩展程序安全策略

reactjs - 如何隔离使用 useState 钩子(Hook)的功能组件的不同实例之间的状态?

reactjs - 在每个页面中打开漂移聊天

javascript - React 模块导入/导出解析错误 : Line 1: Illegal import declaration (gulp)

javascript - 当我保留正在使用的事件时,为什么 setTimeout 不起作用?