首页 > 解决方案 > 如何在 React 函数组件中以 html 格式显示 props?

问题描述

想要将自定义的 html 元素传递给函数组件,但似乎它被视为纯字符串。

<html>
<script src="https://unpkg.com/react@16/umd/react.production.min.js"></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.production.min.js"></script>
<script src="https://unpkg.com/babel-standalone@6.15.0/babel.min.js"></script>

<body>

<div id="mydiv"></div>
<script type="text/babel" src="t21.js"></script>

</body>
</html>

js文件是

const InfoMsg = (props) => {
    return <div>
        {props.parm}
        </div>;
}

const Hello = (props) => {
        console.log(props);
        let divElem;

        switch (props.type)
        {
            case 'info':
                divElem = InfoMsg(props);
                break;
        }

    return divElem;
}

ReactDOM.render(<Hello type='info' parm='<h2>info</h2>' />, document.getElementById('mydiv'));

如何让 InfoMsg 返回<div><h2>info</h2></div>?现在它正在回归<div>"<h2>info</h2>"</div>.

标签: reactjs

解决方案


您将其作为字符串传递。
因此它将显示为字符串。

你可以试试:dangerouslySetInnerHTML选项。
或者您可以将其作为 dom 对象传递。

<Hello type='info' parm={<h2>info</h2>} />

推荐阅读