【问题标题】:How to import component to ReactHtmlParser如何将组件导入 ReactHtmlParser
【发布时间】:2021-03-18 12:07:30
【问题描述】:

我想了解如何使用ReactHtmlParser的react组件,它返回[object Object]

const button = <Button variant="contained">Default</Button>
const color = `red`
const HTML = `<p style="color: ${color}"> Hello World, my name is Jacob! ${button} </p>`


export class HtmlParse extends React.Component {
    render() {
        return(
            <>
                {ReactHtmlParser(HTML)}
            </>
        );
    }
}

我不想每次都在 HTML 变量中创建&lt;button&gt; String &lt;/button&gt;const HTML = &lt;button&gt; String &lt;/button&gt; 标签,我想创建现成的组件并导入

【问题讨论】:

    标签: javascript arrays reactjs object components


    【解决方案1】:

    看起来确实不错。如果你这样做,它会渲染吗?

    <div><HtmlParse/> </div>
    

    【讨论】:

    • 是的,在 App.js 中我这样称呼
    【解决方案2】:

    您正在将 JSX 添加到已解析的 HTMl 中。尝试从 HTML 中删除按钮并将其添加到 JSX。 常量按钮 = “默认” 常量颜色 = red 常量 HTML = &lt;p style="color: ${color}"&gt; Hello World, my name is Jacob! ${button}&lt;/p&gt;

    export class HtmlParse extends React.Component {
        render() {
            return(
                <>
                    {ReactHtmlParser(HTML)}
                </>
            );
        }
    }
    

    【讨论】:

    • 请注意这张图片ibb.co/xqWZ5wx对我来说它也适用于按钮只是返回[object Object],我想改为返回按钮
    • 更新了答案。
    • 我确实将其更新为上面的代码,应该可以工作。
    • 是的,我看到了,但我遇到的问题是我想在任何地方应用按钮,例如在单词“Hello World”之后
    • 那你需要使用html而不是JSX。 ReactHTMLParser 解析 html,而不是 jsx。再次更新。但是,在那里添加呼叫处理程序时您会遇到困难,现在您需要在没有反应的情况下聆听按钮点击。拥有多个模板会更容易,并使用 jsx 作为按钮
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-26
    • 2019-10-10
    • 2020-08-18
    • 2017-11-25
    • 1970-01-01
    • 2017-05-18
    • 2022-10-04
    相关资源
    最近更新 更多