javascript - 单击按钮时提醒输入框内容 - React

标签 javascript reactjs data-binding components

我正在 React 中制作一个简单的程序,用于在单击按钮时提醒输入框的内容。我不能这样做。有人可以帮我吗?我来自 Angular 背景!

class App extends React.Component {
  render() {

      this.state = {
      	text1: "hello"
      }

    return (
    <div>
        <input type="text" value={this.state.text1}/>
        <button onClick={alpha}>Click</button>
    </div>
   )

   alpha(){
   	alert(this.state.text1);
   }

  }
}
ReactDOM.render(<App/>, document.getElementById('app'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.js"></script>
<div id="app"></div>

最佳答案

您的代码存在一些问题。状态和 alpha 函数不应该位于渲染内部,并且您需要初始化状态并在构造函数中绑定(bind) alpha 函数,以便从类的其余部分访问它们。以下重构的代码应该适合您:

class App extends React.Component {
  constructor(props) {
      super(props);

      this.state = {
          text1: "hello"
      };

      this.alpha = this.alpha.bind(this);
  }

  alpha() {
    alert(this.state.text1);
  }

  render() {
    return (
      <div>
        <input type="text" value={this.state.text1} />
        <button onClick={this.alpha}>Click</button>
      </div>
    );
  }
}

关于javascript - 单击按钮时提醒输入框内容 - React,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54023647/

相关文章:

javascript - ReactJs——在 li 元素的点击事件上,类不会立即添加

javascript - RabbitMq 与 ReactJS

javascript - 在 REACT 中将数据发送到其后代的最佳方法是什么

c# - WPF 复选框绑定(bind)

javascript - 为什么我的 packery.js + draggabilly.js '.handle' 不起作用?

javascript - 尽管有条件渲染,React 表单可以提交两次

javascript - 爬行网站以提取数据

AngularJS - 将 v1.2.5 升级到 1.3 以使用一次绑定(bind)

c# - 绑定(bind)到嵌套属性只显示列表中的第一项

javascript - bool 检查在 NodeJS 中不起作用