javascript - react /JS : how to pass html element via function?

标签 javascript

假设我有:

const list_item = (key,str) => <li key={key}>{str}</li>

并且,在我的渲染函数中,

<li key={mykey}> {mystring} <MdCheckCircle /> </li>

但是,当我将 list_item 函数放入 render 方法中时,我无法添加 <MdCheckCircle/> :

list_item(mykey,mystring + "<MdCheckCircle/>")
// renders as string literal on the site

list_item(mykey,mystring + <MdCheckCircle/>) 
// renders as "[ Object ]" on the site

如何传递此 html 元素以使其正确呈现?

最佳答案

您可以像另一个参数一样将组件直接传递给函数

const list_item = (key, str, comp) => <li key={key}>{str} {comp}</li>;

const MdCheckCircle = () => <div>Circle</div>;

class App extends Component {
    render() {
        return <div>{list_item(1, "string", <MdCheckCircle />)}</div>;
    }
}

关于javascript - react /JS : how to pass html element via function?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49367592/

相关文章:

javascript - 检查用户是否插入了麦克风

javascript - Yii2 如何在 FullCalendar 中设置时间格式?

javascript - 检测 Socket.IO 处理程序中的事件类型

javascript - 将 ajax 元素包装到 HTML 页面

javascript - Devbridge 自动完成 serviceUrl 和查找

Javascript并行运行两个循环

javascript - 从包含特定值的数组中获取对象

javascript - 创建一个函数,该函数接受具有姓名和年龄属性的人员对象

javascript - 如何使用 javascript 验证文本字段

php - 一旦移动到 Media Temple 主机,jQuery(Nvio slider )就不会在 CodeIgniter 应用程序上触发