我不明白为什么在我定义 React 类的文件中,分配给导入的变量和从未发生变化的变量仍然会发生变化。
import statuses from '../statuses'; // array of 6 items
class MyComponent extends React.Component {
constructor(props) {
super(props);
this.statuses = statuses;
}
render() {
const statusOptions = this.statuses;
if (statuses.length === statusOptions.length) statusOptions.push(obj);
console.log(statuses.length); // 7 (?!?!)
}
}
我不知道为什么statuses
是否会被更新,以及为什么它会发生突变,就好像它是 statusOptions
这里。 (需要明确的是,我还记录了 statuses
本身,果然,obj
已被推送到数组中。
最佳答案
statuses
、this.statuses
和 statusOptions
都是对同一对象的引用.
推到其中一个,它就会出现在所有三个中。
关于javascript - 为什么导入的值会发生变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45337600/