我在这里学习了关于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/