如何在React中实现类似AngularJS属性指令的最佳方法?
我已经使用React超过6个月了。
我知道,AngularJS是基于DOM工作的,而React是基于虚拟DOM工作的,但是假设我想在React中实现像ng-if
那样的东西,而不是在每个地方编写三元运算符。我知道我可以编写一个包装器元素组件,比如
<ShowIf condition={this.state.something}>
<div>
Some text
</div>
</ShowIf>
但是我想要的是这样的东西。
<div doThisIf={this.state.something}>
Some text
</div>
我发现Wix.com的React模板,但它是一个转译器。我正在寻找一种通用解决方案。
这可能违反了React的惯例,但它确实使事情变得更加容易。有什么建议吗?
<div>
不是React组件,您将无法直接添加属性。为什么<ShowIf>
不令人满意?第二种方法似乎并没有带来太多好处。 - Dana Woodman<div>
是一个React组件,对应于React.DOM.div
。<ShowIf>
不是很令人满意,因为如果我想在<div>
上添加一个新的事件,比如onHover
,它需要两个函数,就像onClick
一样,我不能像onClick
那样直接添加,我需要编写一个包装组件onHover
,但把它作为<div>
的属性更加合理。 - Sanket Sahu