我有一个场景,我正在使用 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/