【问题标题】:How do i render react component stored as string in variable?如何渲染以字符串形式存储在变量中的反应组件?
【发布时间】:2017-03-18 12:27:33
【问题描述】:

我有代码Login code 我真正需要的是将整个 login.js react 组件文件作为字符串存储在数据库中,然后从 db 中获取文件并将其呈现给浏览器。

我无法从服务器渲染,因为这样做需要很多请求,因为用户编辑的文件也不是实时的。请指导我。

可以吗?

【问题讨论】:

  • 这不会像您期望的那样工作。您正在对已经是字符串的东西进行字符串化。你到底想达到什么目的?
  • 你真的需要严格存储为字符串吗。
  • @TimoSta 请参考编辑后的问题
  • @ShubhamKhatri 请参考编辑后的问题

标签: html reactjs rendering react-jsx jsx


【解决方案1】:

这通常是不受欢迎的,只有在您完全控制字符串变量内部的内容时才应该这样做。但是你可以这样做:

<div dangerouslySetInnerHTML={ __html: A } />;

你不需要做任何 json stringify 或 json parse 的东西,只需将其作为常规 html 字符串发送即可。

这里有更多信息来自 React 文档https://facebook.github.io/react/docs/dom-elements.html#dangerouslysetinnerhtml

您需要确保可以控制其中的内容的原因是,没有对 html 进行清理,这可能是一个巨大的安全问题。但是,如果您确切地知道会进出什么,那么那里就没有问题了。

【讨论】:

  • 假设我有一个完整的.jsimports , react life cycle 方法,渲染方法,所有都是字符串的形式,那么我应该怎么做才能渲染。
  • 为什么会有字符串格式的? React 绝对没有为你提供这样做的方法,我很确定如果可能的话,解决方案不会简单或干净。
  • 我已经编辑了问题,请查看上面添加的行,这是我的确切用例。
猜你喜欢
  • 2019-01-07
  • 2016-08-21
  • 1970-01-01
  • 2023-04-07
  • 1970-01-01
  • 2020-02-26
  • 2021-10-03
  • 2020-12-22
  • 2020-12-20
相关资源
最近更新 更多