reactjs - 如何在 ReactJS 中突出显示树中的焦点节点?
问题描述
假设我们有一个渲染为 DOM 树的树结构,如下所示:
<ul>
<li>Outer
<ul>
<li>Inner
<ul>
<li>Inner Inner</li>
</ul>
</li>
</ul>
</li>
</ul>
我们要突出“focused”(鼠标悬停)节点,这里的重点是,当一个 Inner 节点被突出显示时,它的父节点不应该被突出显示。
使用 jQuery,您可以访问父节点,解决方案非常简单http://jsfiddle.net/D7jwq/2/:
$("li").mouseover(function(e) {
$(this).addClass("red").parents().removeClass("red");
e.stopPropagation();
}).mouseout(function(e) {
$(this).removeClass("red");
});
但是如何在 ReactJS 中获得类似的效果呢?
解决方案
React 也有 mouseover 和 mouseout 事件https://reactjs.org/docs/events.html
jquery$("li")
隐式地将这些事件设置为所有<li>
元素。
在 React 中,您必须将这些事件显式设置为您的<li>
元素。
推荐阅读
- javascript - 路由也显示上一页的内容
- c - 无法将我的应用服务器连接到 FCM XMPP 服务器
- junit - Junit 使用 eq() 参数匹配器与直接传递字符串
- ruby - Ruby vs. Go / sha256 hmac base64 编码字符串不匹配
- node.js - 为什么 Angular 8 推荐 Node 12?
- javascript - Javascript onclick功能不起作用laravel刀片
- angular - 无法在 Angular 中导航相同的路线
- c++ - 无法从 C++/CLR 项目中的静态 C++ 库调用函数
- dns - 我需要获取在特定国家/地区注册的所有域的列表
- c# - Entity Framework 6 因缺少 DbContext 不需要的 SQL 表而引发异常