【问题标题】:prevent ReactJs component sent from rendering防止渲染发送的 ReactJs 组件
【发布时间】:2021-04-20 11:45:20
【问题描述】:

我使用的组件接收客户端输入的文本,但客户端碰巧输入了代码(例如 iframe),并且危险地 SetInnerHTML 让它呈现! 我希望它在屏幕上显示代码(我已经尝试将其转换为字符串等)但不渲染它。

<p dangerouslySetInnerHTML={{ __html: message }}></p>

【问题讨论】:

    标签: reactjs render dangerouslysetinnerhtml


    【解决方案1】:

    如果您不希望消息是 dom,那么为什么首先使用dangerouslySetInnerHTML

    <p>{message}</p>
    

    【讨论】:

    • 这在我的上下文中工作得很好!谢谢!
    • @c_mariana 将问题标记为已接受(如果它对您有用)
    【解决方案2】:

    使用 dompurify,对这些场景很有用,但我不确定你是如何无法渲染的,发布代码 sn-p 会有所帮助。

    【讨论】:

    • DOMPurify 确实解决了许多上下文,甚至可能的攻击,但是当您单击它时,它只是返回它清理的内容并将其识别为错误,它返回空白(“”),这对我来说需要在屏幕上显示最终无法正常工作:(
    • 你面临什么挑战,你能发个sn-p吗?
    猜你喜欢
    • 2017-08-30
    • 2016-07-26
    • 1970-01-01
    • 1970-01-01
    • 2021-01-07
    • 2021-12-05
    • 2019-08-22
    • 1970-01-01
    • 2018-07-20
    相关资源
    最近更新 更多