javascript - 如何有条件地添加属性以 react DOM 元素

标签 javascript attributes conditional reactjs

我有一个场景,我正在使用 React.js 使用以下代码创建一个 div:

React.createElement('div', {}, "div content") 

一些额外的 javascript 处理将允许我之后推断这个 div 是否需要将 className 属性设置为“ClassA”或“ClassB”,或者它是否根本不应该有 className。

在 javascript 中有没有一种方法可以访问从 React DOM 创建的 div 并向其添加 className 属性?

注意:我无法实现这是 JSX,所以我求助于 createElement 方法。

编辑:值得一提的是,我可能需要有条件地添加 className 以外的属性。例如,我可能需要根据条件逻辑向 anchor 标记添加或不添加“alt”属性。 先感谢您。

最佳答案

使用JSX spread .使用 props 构建和对象,根据需要修改它并将它传递给组件,如下所示:

const props = {
    name: 'SomeName'
}

if (true) {
    props.otherName = 'otherName';
}

return (
    <SomeComponent {...props}/>
);

看到 ... 语法了吗?传播运算符完成这项工作 - 所有 Prop 最终将作为您组件上的单独属性。

看看这个 plunk:http://www.webpackbin.com/4JzKuJ9C-

关于javascript - 如何有条件地添加属性以 react DOM 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40035230/

相关文章:

javascript - Paypal智能按钮: Get clicked button

javascript - jquery根据类添加href

javascript - Typescript JSON 模式对象的类型

javascript - 从菜单中选择打印后的 Google Chrome 打印事件捕获

php - 在 WooCommerce 中通过其别名获取产品属性标签名称

php - 正则表达式 PHP IF 包含和限制

c# - C# 中的属性 GeneratedCodeAttribute 有什么用?

c# - C# 属性可以访问目标类吗?

php - 构造条件逻辑的最佳方法是什么?

javascript - Javascript 中的条件运算符