2017-04-14 35 views

回答

0

你不能这么做,因为没有任何值的属性意味着该属性在JSX中的值为true。只是不通过data-testthis.props['data-test']将在您的组件中未定义。或者,如果您需要将此属性设为空值,请将其添加到组件定义中的默认值。

defaultProps: { 
    'data-test': '' 
} 
+0

此外,在这里阅读更多https://facebook.github.io/react/docs/jsx-in-depth.html#props-default-to-true – Yuval

-1

如果你指的是文档上createElement API,你可以插入这样的价值,你的数据测试道具:

React.createElement('div', {className: 'test', 'data-test': 'some value'}); 
+1

你的代码中有一个语法错误:'数据测试'必须引用。 – elektronik

+0

@elektronik好抓! :) –

0

首先,我不这样推荐自己,因为这样会在没有React知识的情况下操纵DOM。我只是为了完成目的而提出这个答案。

现在到了解决方案,你可以做到这一点 -

<div className="test" ref={divEl => divEl.setAttribute("data-test", '')}></div> 

这应该设置一个空的属性,只要你想的DOM元素。

+0

它会重新渲染? – Muhaimin

+0

不,只有在道具改变时,或者父组件重新渲染。 – hazardous

相关问题