使用jquery进行反应以滑动切换

2024-01-12

我正在尝试通过制作带有可折叠项目的菜单来学习一些 React。我使用 jQuery 来实现它的 SlideToggle 功能,但我无法让它正常工作。

反应代码的相关部分是这样的:

var CollapsableMenuItem = React.createClass({
    toggleDescription: function(el) {
        $(el).slideToggle();
    },
    render: function() {
        return (
            <li>
                <label className='title' 
                       onClick={this.toggleDescription.bind(this)}>
                    {this.props.item.title}
                </label>
                <div className='description'>
                    <label>
                        {this.props.item.body}
                    </label>
                </div>
            </li>
        );
    }
});

虽然我目前正在尝试滑动切换“this”,但将来需要更改为

$(el).parent().find('.description').slideToggle();

因为那是需要滑动切换的实际元素

绑定“this [element]”以便 jQuery 可以对其进行幻灯片切换的正确方法是什么?

我目前正在工作这把小提琴 http://jsfiddle.net/kb3gN/13028/,里面还有一些其他的东西你可以忽略。相关代码位于javascript部分的底部

我想到的第二个问题:使用 jQuery.ready 函数通过 React 绑定点击事件等是不是不好的做法?

理论上,我可以将 jquery 文件与每个组件文件及其事件处理程序捆绑在一起。


的背景this在 React 中不是元素,而是 React 组件。 jQuery 不明白如何将它用作选择器。

您需要获取对要使用 jQuery 控制的元素的引用。

makeTogglable: function(element) {
  $element = $(element);

  this.toggle = function() {
    $element.slideToggle();
  };
},
render: function() {
  return (
    <li>
      <label onClick={this.toggle}></label>
      <div ref={this.makeTogglable}></div>
    </li>
  );
}

The ref prop https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute接受一个回调,该回调将在安装组件时运行。 DOM 元素将被传递给回调,以便您可以直接使用它。

在本例中,我们使用它来创建并公开一个新的this.toggle方法,该方法调用.slideToggle在元素上。

最后,我们通过了新的this.toggle方法到onClick我们想要触发切换的元素的处理程序。在这种情况下,它是<div>.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用jquery进行反应以滑动切换 的相关文章

随机推荐

  • 优雅地退出node.js

    我正在阅读这本优秀的在线书籍http nodebeginner org http nodebeginner org 并尝试简单的代码 var http require http function onRequest request resp
  • 如何从Python调用scala?

    我想在 Scala 中构建我的项目 然后在 Python 脚本中使用它来进行数据黑客攻击 作为模块或类似的东西 我已经看到有多种方法可以使用 Jython 将 python 代码集成到 JVM 语言中 尽管只有 Python 2 项目 但我
  • 想要使用 ActionSherlockBar 添加选项卡

    我想用 ActionSherlockBar 添加选项卡所以我使用了一些代码 资源 https stackoverflow com questions 13640512 android actionbar sherlock with tabs
  • Graphviz 未在 jupyter 笔记本 python = 3.6 中运行?

    我正在尝试运行 graphviz 以查看 jupyter 笔记本上的点文件 其中已导入 dot exe 路径的路径 G anaconda3 envs tensorflowgpu Library bin graphviz G anaconda
  • 将数据帧随机分成 n 个相等的部分

    假设我有一个不同行数的数据帧列表 AB df data frame replicate 2 sample 0 130 201 rep TRUE BC df data frame replicate 2 sample 0 130 200 re
  • ASP.NET 路由是否可用于为 .ashx (IHttpHander) 处理程序创建“干净”的 URL?

    我有一些使用普通旧式的 REST 服务IHttpHandlers 我想生成更清晰的 URL 这样路径中就没有 ashx 有没有办法使用 ASP NET 路由来创建映射到 ashx 处理程序的路由 我以前见过这些类型的路线 Route to
  • 如何在sql中选择连续日期

    是否有任何函数可以检查连续日期 我在处理以下问题时遇到问题 我的桌子上有一个datetime包含以下数据的列 2015 03 11 2015 03 12 2015 03 13 2015 03 16 指定开始日期为2015 3 11和结束日期
  • FireBase API 是否有未缩小的 JavaScript 版本?

    我正在为通过 FireBase 提供 API 的设备开发一个界面 但我没有使用 Java JavaScript 或 FireBase 提供的库的任何其他语言 我正在使用 Lua 虽然我可以轻松实现 REST API 但我希望能够使用 Fir
  • Google APIs Explorer 未从我的应用程序引擎应用程序中找到可用的 ApiMethod

    我有一个可以正常编译的 App Engine 应用程序 我使用本地主机上的 Google Apis Explorer 测试方法调用 https developers google com apis explorer base http lo
  • 临时表在同一连接池上的多个请求中是否唯一?

    我有以下存储过程 它使用临时表批量导入数据 我知道临时表对于每个会话都是唯一的 但是我想知道我的应用程序是否使用线程并向存储过程发出多个并发请求 使用应用程序池中的相同 sql 连接 它们最终会引用相同的临时表吗 CREATE PROCED
  • Rhino - 将 javascript 对象传递给 java

    我对 Rhino 很陌生 我的问题是如何实现以下目标 假设我有一个 javascript 对象 它遵循如下所示的内容 我可以在 java 中使用它 var myObject new Object myObject string1 Hello
  • 没有jquery的自定义滚动条

    我正在寻找一个无需 jquery 即可工作的自定义滚动条 我不能使用 jquery 因为其他东西也是无 jquery 的 并且它针对快速加载进行了优化 将不胜感激与我分享的任何想法 NONNNNN 如果您不想使用 jQuery 您可以随时尝
  • 正则表达式正在抓取前面的字符

    所以我在正则表达式中遇到了一些不一致的行为 我的正则表达式 lt test 输入字符串 test exe c echo teststring gt test teststring 当我运行这个时https Regex101 com http
  • 自 UTC 时区当天开始以来的秒数

    如何在Python中找到 自UTC时区开始以来的秒数 我查看了文档 但不明白如何使用它datetime timedelta 这是一种方法 from datetime import datetime time utcnow datetime
  • 设置selectedindex不触发onchange事件

    我正在尝试更改选择标签的选定索引 但是通过 jquery 更改索引时不会触发 onchange 事件 我正在动态地为选择标签创建选项 我不会知道选项标签的值 还有其他方法可以实现吗 这是我的代码片段 请随意提供意见 function cal
  • 如何让 Pyflakes 忽略语句?

    我们的许多模块都是从以下开始的 try import json except ImportError from django utils import simplejson as json Python 2 4 fallback 这是整个文
  • 获取 Haskell CSV 中的列并推断列类型

    我正在交互式 ghci 会话中探索 csv 文件 在 jupyter 笔记本中 import Text CSV import Data List import Data Maybe dat lt parseCSVFromFile home
  • 如何从我的应用程序中打开 iPhone 日历?

    我希望能够在我的应用程序中实现一个按钮 用于退出我的应用程序 并将用户带到 iPhone 的日历 我对将用户发送到特定事件不感兴趣 只要打开日历就可以了 有什么建议么 嘿可能是一个迟到的答案 但你现在可以这样做 UIApplication
  • ExtJS 4 关联和 store.save()

    我正在使用 ExtJS 4 并且有一个定义了关联 hasMany 的模型 ModelA gt hasMany gt ModelB 我使用 GridA 显示来自 ModelA 的数据 单击 GridA 中的记录时 我使用 rowSelect
  • 使用jquery进行反应以滑动切换

    我正在尝试通过制作带有可折叠项目的菜单来学习一些 React 我使用 jQuery 来实现它的 SlideToggle 功能 但我无法让它正常工作 反应代码的相关部分是这样的 var CollapsableMenuItem React cr