javascript - const 值可以改变

标签 javascript reactjs meteor constants

我在这里学习了关于meteorjs的教程: https://www.meteor.com/tutorials/react/forms-and-events

其中一个代码使用了 const。 const text = ReactDOM.findDOMNode(this.refs.textInput).value.trim();

据我从 SO 网站其他网站上的阅读得知,const 值无法更改。但是,当我在应用程序输入框中键入任何文本时,重新分配 const 值不会引发任何错误。

为什么会发生这种情况?我对 const 的理解是否错误?我希望有人能给我解释一下并提前致谢。

示例代码:

import React, { Component, PropTypes } from 'react';
import ReactDOM from 'react-dom';
import { createContainer } from 'meteor/react-meteor-data';

import { Tasks } from '../api/tasks.js';
...some lines skipped...

// App component - represents the whole app
class App extends Component {
  handleSubmit(event) {
    event.preventDefault();

    // Find the text field via the React ref
    const text = ReactDOM.findDOMNode(this.refs.textInput).value.trim();

    Tasks.insert({
      text,
      createdAt: new Date(), // current time
    });

    // Clear form
    ReactDOM.findDOMNode(this.refs.textInput).value = '';
  }

  renderTasks() {
    return this.props.tasks.map((task) => (
      <Task key={task._id} task={task} />

最佳答案

该 const 用于定义函数内的局部变量,每次输入输入时都会调用该变量。当函数完成执行时,它不再“存在”,因此下次调用该函数时,您不会覆盖它,而是会再次创建它。

关于javascript - const 值可以改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42490821/

相关文章:

javascript - 以数组为参数并生成随机数的函数

javascript - 如何将像素转换为measurement-html5 Canvas

javascript - 如何使用 react-native 为 android 创建日期选择器?

javascript - 在 React JS 的文本字段中打印 JSON 数据

javascript - 当不存在构造函数时, `new` 调用的结果。 ES6 类

javascript - 如何在 Meteor 中使用 PureRenderMixin (React js)

javascript - 修复了滚动到页面底部时扩展的页脚

javascript - 多个阵列的幻灯片计数器未重置

javascript - 如何去除 Formik Field ReactJS 的抖动

javascript - Mongo Meteor 中的排序跳过限制