javascript - 使用 React js 创建一个基本的表格计算器

标签 javascript html reactjs

要创建一个具有动态计算和更新的 HTML 表单,假设只有两个输入要相乘,乘积在下面的文本中显示,基本结构是什么样的。即哪些数据将保持状态?是否应该使用任何反应混入?

谢谢!

最佳答案

此组件应将两个数字的乘积保存为状态。您可以在 DOM 中保存这两个数字的值,因为您拥有自己的表单。

在 react 组件的渲染中你需要一个 html 表单。渲染可能看起来像这样:

render: function() {
   var product = '';
   if (this.state.product) {
     product = <p>{this.state.product}</p>;
   }
   return (
   <div>
    {product}
    <form onSubmit={this.submit}>
      <input type="text" ref="num1" className="form-control" placeholder="First number"></input>
      <input type="text" ref="num2" className="form-control" placeholder="Second number"></input>
      <button type="submit" className="btn btn-danger">Delete</button>
      <button type="reset" className="btn btn-default">Cancel</button>
    </form>
   </div>
  );
},

然后,您需要在您的 React 类中使用一个名为 submit() 的函数来获取如下表单值:

var num1 = this.refs.num1.getDOMNode().value.trim();
var num2 = this.refs.num2.getDOMNode().value.trim();

然后你应该将它们相乘并将它们存储为状态:

this.setState({ product: num1 * num2 });

确保使用 getInitialState() 并将产品初始化为 null:

getInitialState: function() {
  return { product: null };
},

关于javascript - 使用 React js 创建一个基本的表格计算器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28667616/

相关文章:

reactjs - React Apollo 订阅中的第一个对象没有合并到以前的数据中,它实际上被删除了

javascript - Zendesk 更新票及多条评论

javascript - 如何在 HTML JS 中获取外部文本

javascript - window.h 在 JavaScript 中意味着什么?

css - 如何在使用 html 和 chartjs 时放置 y 轴和 x 轴标签

html - textarea 拖拽结合下面的textarea

reactjs - TS2531 : Object possibly 'null'

javascript - ES6+React,错误 :React. createElement : type should not be null, 未定义、 bool 值或数字

javascript - 在 Javascript 中如何制作具有可实例化的自定义行为的数组?

html - CSS:任何内容的第一个单词后换行