javascript - onClick 在 React js 中没有触发

标签 javascript jquery reactjs react-router

我在使这段代码正常工作时遇到了麻烦。当我单击按钮时,该组件应该重新渲染并成为 h1 标签。这段代码可以编译,问题是当我单击“打开模态”按钮时什么也没有发生。

这是我的最后一个版本。我对react.js还很陌生,所以提前为我的无知道歉。有什么想法吗?

class AddTransactionForm extends React.Component {

      constructor (props) {
        super(props);
        this.state = { modalActive: false };
        this.openModal = this.openModal.bind(this);
      }

      openModal () {
        this.setState({ modalActive: true })
      }

      render () {
        if (this.state.modalActive){
          return(<h1>Active</h1>);
        }else{
          return (
                 <div>
                       <button className="button_" onClick={this.openModal}>Open modal</button>
                 </div>
        );
        }
    }
    }

此外,我在控制台中收到此错误(尽管该错误,页面呈现并且工作正常)

未捕获错误:找不到模块“./components/Transactions” 在bundle.js:17 在对象。 (bundle.js:17) 在 t (bundle.js:1) 在对象。 (bundle.js:17) 在 t (bundle.js:1) 在对象。 (bundle.js:1) 在 t (bundle.js:1) 在bundle.js:1 在bundle.js:1

最佳答案

这工作得很好。请参阅 http://codepen.io/umgupta/pen/dNPPXe 上的演示 查看错误似乎您正在使用捆绑程序。 问题可能是,由于错误可能在事件绑定(bind)之前引发,因此单击时未绑定(bind)。

class AddTransactionForm extends React.Component {

      constructor (props) {
        super(props);
        this.state = { modalActive: false };
        this.openModal = this.openModal.bind(this);
      }

      openModal () {
        this.setState({ modalActive: true })
      }

      render () {
        if (this.state.modalActive){
          return(<h1>Active</h1>);
        }else{
          return (
                 <div>
                       <button className="button_" onClick={this.openModal}>Open modal</button>
                 </div>
        );
        }
    }
    }


ReactDOM.render(
  <AddTransactionForm/>,
  document.getElementById('root')
);

关于javascript - onClick 在 React js 中没有触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41469224/

相关文章:

javascript - 如何在服务器上手动取消 XMLHttpRequest 文件上传(流)

javascript - 缩略图区域需要 jquery slider

javascript - 在两个文本字段中显示完全相同的选择范围

javascript - 避免 React setState() 回调循环

javascript - 如何使用 Javascript 对 HTML 表单中的结果进行排名?

jquery - 表排序器 n[0] 未定义

jquery - 如何在没有 Window 对象的情况下在 Firefox 附加组件/扩展中插入 jQuery?

javascript - 如何提交输入字段的ID

reactjs - 我想用 React 在 div 元素中添加参数

reactjs - 用受控表单元素 react 无状态组件?