javascript - 通过在 State 中自动计算将数字乘以 10 - React JS

标签 javascript reactjs data-binding

在这个例子中,我希望用户增加或减少输入框中的数字,并且乘以 10 的数字应该在输入框旁边的范围中看到。我无法获取结果。有人可以帮我吗。

片段:

class App extends React.Component {
  state = {
    initialValue: 0,
    finalValue: initialValue* 10
  }
  render() {

    return (
    <div>
        <input type="number" value={this.state.initialValue} onChange={this.alpha} name="initialValue" id="initialValue"/>
        <span>{this.state.finalValue}</span>
    </div>
   )
  }
   alpha = (ev) => {
    this.setState({
            [ev.target.name]: ev.target.value
    });
   }

}
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>

最佳答案

在您的代码中,您在对象初始化中执行 finalValue: initialValue* 10 ,这是不正确的,因为没有变量 initialValue

回答你的问题。您想要根据您所在州的值显示一些内容。为此,您实际上不需要对象中的 2 个键,因为第二个键始终是其中一个键的 10 倍。

所以不要将其存储在状态中。我在渲染中直接乘以10。 这是有效的,因为每当您更改输入框中的值时,表单都会重新呈现,从而再次调用 render。由于在渲染之前您的 initialValue 已更新,因此您将在跨度内获得 10 倍的值。

class App extends React.Component {
  state = {
    initialValue: 0,
  }
  render() {

    return (
    <div>
        <input type="number" value={this.state.initialValue} onChange={this.alpha} name="initialValue" id="initialValue"/>
        <span>{this.state.initialValue * 10}</span>
    </div>
   )
  }
   alpha = (ev) => {
    this.setState({
            [ev.target.name]: ev.target.value
    });
   }

}
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>

关于javascript - 通过在 State 中自动计算将数字乘以 10 - React JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54086483/

相关文章:

android - 我可以使用相同的 React Native 代码与 iOS 和 Android 中的 WebView 交互吗?

apache-flex - 弹性 : does painless programmatic data binding exist?

javascript - vuejs - 绑定(bind)到组件数据

JavaScript:全局变量似乎不可本地引用

javascript - 在 React 应用程序中使用 vanilla JavaScript 包

javascript - 如何将 Ionic 输入类型文件设置为 Button

javascript - 下面的 React.js 代码中 "this"中的关键字 "this.state"指的是什么?

javascript - 将复选框或多选下拉列表绑定(bind)到 AngularJS 中的数组?

javascript - 使用 Javascript 获取存储在 Firebase 中的对象的子对象

javascript - 为什么错误angularjs Error : $compile:tpload Error Loading Template