【发布时间】:2017-08-08 13:33:00
【问题描述】:
我的问题是关于在 JSX 中进行条件渲染和this 的使用。
在我的 React 应用程序中考虑以下代码:
render() {
return (
<li onMouseEnter={this.mouseEnter}>
//things
</li>
)
}
我想有条件地渲染onMouseEnter 属性,这样它就不会在每次组件被调用并显示<li> 标记时应用。
例如:
render() {
return (
<li {this.renderMouseEvents()} >
...
</li>
)
}
但 Visual Studio 抱怨说“[js] “...”是预期的”
显然在 HTML 元素之外调用 { this.renderMouseEvents() } 接受使用 this。
为什么this 在 JSX 的 html 元素中无效?
在 JSX 中完成这种条件渲染的正确/更简洁的方法是什么?
感谢任何帮助,谢谢!
【问题讨论】:
-
为什么不简单地在 mouseEnter 函数中添加条件?
-
这个问题提出了一个XY problem。您的 JSX sn-p 在语法上无效,但
this的用法与它无关。
标签: javascript reactjs jsx