Javascript React组件事件处理程序可以';我找不到这个

Javascript React组件事件处理程序可以';我找不到这个,javascript,reactjs,Javascript,Reactjs,我一直在为一些React组件做一些(据说)轻微的重构工作。其中一个由于某种原因停止了预期的工作——网络上提出的其他问题类似,但似乎不足以解决我的问题 我有一个从父级有条件呈现的组件: 'use strict'; import React from 'react'; import ReactDOM from 'react-dom'; class ArrowButton extends React.Component { handleMove() { let $arro

我一直在为一些React组件做一些(据说)轻微的重构工作。其中一个由于某种原因停止了预期的工作——网络上提出的其他问题类似,但似乎不足以解决我的问题

我有一个从父级有条件呈现的组件:

'use strict';

import React from 'react';
import ReactDOM from 'react-dom';

class ArrowButton extends React.Component {

    handleMove() {
        let $arrow = $(ReactDOM.findDOMNode(this));
        let $banner = $arrow.parents('.hero-banner');
        let bannerBottom = $banner.offset().top + $banner.outerHeight();

        $('html, body').animate({
            scrollTop: bannerBottom
        });
    }

    render() {
        return (
            <div className="arrow-button" onClick={this.handleMove.bind(this)}>
                <div className="arrow-button__arrow"></div>
            </div>
        );
    }
}

export default ArrowButton;
如果我删除了.bind,那么我根本就没有这样做的余地。我认为这可能是错误的(如在窗口或其他地方),但似乎没有定义

Uncaught TypeError: Cannot read property 'top' of undefined

我找不到任何包含React两次的奇怪参考。是否有(联合国)共同的问题需要我仔细检查?为什么具有相同设置的其他组件(除了处理程序主体)可以工作?

我们通过简单地引用事件对象和目标来解决这个问题。它实现了相同的结果(到达DOM节点并用jQuery包装它),但感觉不太像“反应方式”。话虽如此,animate()方法也不需要,但也没有必要因为一致性以外的真正原因而使事情进一步复杂化

handleMove(e) {
    let $arrow = $(ReactDOM.findDOMNode(e.target));

你能分享你的
package.json
和bundle-config-eg
webpack.config.js
?我发现无论何时出现该错误-这确实意味着出于某种原因我加载了2份react。
Uncaught TypeError: Cannot read property 'top' of undefined
handleMove(e) {
    let $arrow = $(ReactDOM.findDOMNode(e.target));