javascript - 如何将从 API 接收到的 HTML 类注入(inject)到 React 中?

标签 javascript html reactjs

我正在开发一个大型 React 项目,我们从我们无法控制的 API 接收数据,有时我们需要接收具有内联样式的 HTML 字符串,并将其全部直接插入到我们的组件中。它将作为字符串传递给我们——我还没有从后端团队得到明确的答案,但我认为它会像

<textarea rows='1' cols'50' >Some text with <span class='special style'>special styles applied</span></textarea>

如何正确(安全)地将其插入到我的 react 组件中?只是像下面这样?

const myHTMLStringFromAPI = getApiStuff()

  render(){
  return <div>{myHTMLStringFromAPI}</div>
}

最佳答案

您可以使用 dangerouslySetInnerHTML 执行操作

dangerouslySetInnerHTML is React’s replacement for using innerHTML in the browser DOM. This is used because setting innerHTML directly is risky.

const myHTMLStringFromAPI = getApiStuff()
  render(){
  return <div dangerouslySetInnerHTML={{__html:`<textarea rows='1' cols'50' >Some text with <span class='special style'>special styles applied</span></textarea>`}}>{myHTMLStringFromAPI}</div>
}

关于javascript - 如何将从 API 接收到的 HTML 类注入(inject)到 React 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54748465/

相关文章:

javascript - Node.js 如何响应升级请求?

html - 使两个元素适应智能手机屏幕

javascript - 如何使用react以正确呈现可移动输入的列表?

javascript - React – 如何在另一个已安装的组件中渲染附加组件?

javascript - 如何在保持数据状态有序的同时保持接收数据?

javascript - Data-toggle 和 onclick 不能一起工作,我太新了,无法将@epascarello 的解决方案应用于

javascript - Tumblr 上的移动设备检测

javascript - .velocity ("scroll") 如果在 $window.scroll() 函数中使用则无法正常工作

javascript - AngularJS $resource @前缀参数

html - 为什么字符串会从 Bubble 窗口中伸出来?