当前位置: 首页 > 知识库问答 >
问题:

如何使用内联样式显示来自文本区的代码?

姜德容
2023-03-14

我的应用程序由两个组件组成。

在左边,我有一个文本区域,它将输入保存到一个状态变量中,传递给另一个组件,该组件将“翻译”输入并显示else。由于输入将被翻译成html代码,所以我想在右边显示样式化的代码(这是一个电子邮件表单,和lt;将被更改为和gt;将被更改为>)。

因此最终结果将是带有内联样式的html代码。我如何输出结果的样式和所有?

这个主意在我脑子里有点像密码本。谢谢!

到目前为止,我已经完成了这些组件:

app.js:

import "./App.css";

// component imports
import TextFields from "../TextFields/TextFields";
import Display from "../EmailPart/Display";

function App() {
  return (
    <div className='App'>
      <h1>Translate your shit here</h1>
      <div>
        <TextFields />
      </div>
    </div>
  );
}

export default App;

文本字段部分:

import React from "react";
import { useState } from "react";
import Display from "../EmailPart/Display";
import "./TextFields.css";

    const TextFields = () => {
      const [input, setInput] = useState([""]);
    
      return (
        <div class='text_holder'>
          <textarea
            onChange={(e) => setInput(e.target.value)}
            className='input_field'>
            Put your amazing shit herer
          </textarea>
          <div class='display_holder'>
            <Display input={input} />
          </div>
        </div>
      );
    };
    
    export default TextFields;

和显示:

import React from "react";
import { useState } from "react";

const Display = (props) => {
  const { input } = props;
  return (
    <div>
      <p>{input}</p>
    </div>
  );
};

export default Display;

共有1个答案

松和泰
2023-03-14

您可以使用dangerouslysetinnerHTML道具。不推荐这样做,因为您的站点容易受到XSS攻击。

下面是一个简单的代码

function createMarkup(input) {
  return { __html: input } //the key has to be "__html" exactly
}

function Display({ input }) {
  return (
    <div dangerouslySetInnerHTML={createMarkup(input)} />
  )
}
 类似资料:
  • 问题内容: 我已经使用CSS设置了文件输入的样式: 一切正常,但是我想显示所选的文件名。使用CSS或jQuery怎么可能? 问题答案: 您必须绑定并触发元素上的change事件,并将文件名读取为:

  • 问题内容: 鉴于此HTML: 如何使它们像这样显示内联: foo bar baz 不像这样: foo bar baz 问题答案: 那是另一回事:

  • 问题内容: 我有使用内联样式的标记,但是我无权更改此标记。如何仅使用CSS覆盖文档中的内联样式?我不想使用jQuery或JavaScript。 HTML: CSS: 问题答案: 覆盖内联样式的唯一方法是使用CSS规则旁边的关键字。以下是一个示例。 重要笔记: 使用不是一个好的做法。因此,您应避免同时使用内联样式。 将关键字添加到任何CSS规则后,该规则就可以 强行优先 于该元素的 所有其他CSS规

  • 问题内容: 我正在使用pdfbox库从pdf文件中提取文本内容。我可以提取所有文本,但找不到提取字体样式的方法。 问题答案: 这不是提取字体的正确方法。要读取字体,必须遍历pdf页面并提取字体,如下所示:

  • 如题,后端接口返回的内容是有style的,正式环境渲染就不见了,本地环境渲染显示是正常的 接口返回 正式环境 本地环境

  • 问题内容: 我正在尝试将此代码添加到动态创建的div元素中 创建动态的代码是 我的想法是在之后添加样式,但我不知道该怎么做。 问题答案: 这应该向元素添加内联样式。