如何绑定来自mixin的反应事件?

mik01aj

我想为工具提示编写一个简单的mixin。我已经知道如何将我的mixin绑定到DOM事件:

componentDidMount: function() {
    var el = this.getDOMNode();
    el.addEventListener('mouseenter', this.mouseenter, false);
    el.addEventListener('mouseleave', this.mouseleave, false);
},

...但是我想绑定到React事件,以利用其一致的事件系统。我该怎么做?

纳拉布诺维茨

我认为您可能想render通过使用mixinmouseentermouseleavehandler作为道具,在混合组件方法中执行此操作我认为一种选择可能看起来像这样:

var MouseMixin = {

    getMouseProps: function() {
        return {
            onMouseEnter: this.mouseenter,
            onMouseLeave: this.mouseleave
        }
    },

    mouseenter: function() {
        console.warn('mouseenter', arguments)
    },

    mouseleave: function() {
        console.warn('mouseleave', arguments)
    }
};

然后,除了将其混入之外,还需要应用行为。在React 0.12中的JSX中,您可以使用...传播运算符来帮助解决此问题:

var Example = React.createClass({

    mixins: [MouseMixin],

    render: function() {
        return (
          <div { ...this.getMouseProps() }>
              Hello world
          </div>
        )
    }

});

在这里查看工作的小提琴。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

反应事件而不绑定 this

来自分类Dev

无法使es6反应绑定事件

来自分类Dev

Python绑定来自其他文件的事件

来自分类Dev

Python绑定来自其他文件的事件

来自分类Dev

如何取消绑定事件?

来自分类Dev

jQuery:当输入不是来自用户时,如何绑定更改事件

来自分类Dev

如何使用android数据绑定绑定事件

来自分类Dev

如何绑定jQuery的tap事件

来自分类Dev

反应表行以绑定(此)单击事件处理程序

来自分类Dev

反应,为每个事件绑定新功能的效率低下

来自分类Dev

如何在WP7中在事件触发时用来自绑定列表框的图像填充矩形

来自分类Dev

反应-如何设置“来自我的消息”

来自分类Dev

反应:如何监听子组件事件

来自分类Dev

如何对Go中的按键事件做出反应?

来自分类Dev

如何使容器的ScreenX事件做出反应?

来自分类Dev

如何使 NavBar 中的 onClick 事件做出反应?

来自分类Dev

如何防止来自父 DOM 的点击事件?

来自分类Dev

如何取消AJAX随附元素的事件绑定

来自分类Dev

如何取消绑定事件在jQuery / JavaScript的?

来自分类Dev

如何调用绑定到UI的事件

来自分类Dev

如何防止元素的click事件被角度绑定?

来自分类Dev

如何将其绑定到jQuery的事件?

来自分类Dev

如何为 Canvas 内容绑定事件?

来自分类Dev

jquery-slimscroll如何绑定和取消绑定滚动事件

来自分类Dev

如何在subGrid中绑定和解除绑定事件

来自分类Dev

TinyMCE:如何在事件初始化后绑定事件

来自分类Dev

如何防止来自URL的反应重新渲染图像?

来自分类Dev

如何防止来自URL的反应重新渲染图像?

来自分类Dev

如何在反应中映射来自 API 的响应

Related 相关文章

热门标签

归档