代码之家  ›  专栏  ›  技术社区  ›  user3552178

如何在React函数组件中以html格式显示props?

  •  1
  • user3552178  · 技术社区  · 4 年前

    想要将自定义的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/[email protected]/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>.

    1 回复  |  直到 4 年前
        1
  •  1
  •   waz    4 年前

    你把它当作一根绳子穿过。
    因此,它将显示为字符串。

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

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