如何让ReactJS呈现空的HTML属性
How to get ReactJS to render empty HTML attributes
我试图让React呈现一个空属性,但它根本不包括它。有什么想法吗?
render(){
return <myComponent foo="{ this.state.foo }" />
}
当this.state.foo
为假时,这将产生:
<mycomponent />
而我想要:
<myComponent foo />
您的问题不是属性值为空;您的属性既不是本地html规范元素,也不是以data
开头的。来自JSX Gotchas页面:
如果将属性传递给HTML规范中不存在的本地HTML元素,React将不会呈现它们。如果要使用自定义属性,则应在其前面加上data-。
你应该这样做:
render(){
return <myComponent data-foo={ this.state.foo || '' } />
}
更新(正如@alexander所指出的):
如果数据foo可以返回null,您还需要指定一个备份空字符串。我已经更新了我的示例
相关文章:
- 获取HTML属性中CSS声明的值
- 如何在只接受字符串值/文字的HTML属性中调用函数
- 如何为HTML属性/选择器创建全局名称空间或变量
- 在javascript函数调用中传递的HTML属性不完整
- 如何访问自定义 HTML 属性
- AngularJS将变量绑定到自定义html属性
- 如何将 html 属性值添加到 javascript 变量中
- 为什么我不能在变量上使用内部HTML属性
- 如何将 JSON 值追加到 HTML 属性
- 使用正则表达式删除所有 html 属性(替换)
- 如何在对象中存储html属性
- 尝试更改HTML属性时出现奇怪的get请求
- 奇怪的html属性,我无法理解
- 对HTML属性进行Regex多重匹配
- JsTree从未渲染的节点获取html属性
- 基于html属性的动态jquery选择器
- jQuery未读取正确的HTML属性值
- 如何让ReactJS呈现空的HTML属性
- 将2创建的元素合并到html属性中
- 确定html属性键和值的角度指令