假设我有一个 React 组件(无论是否愚蠢),我想从商店中获取一些东西并将其放入变量中以使我的代码更简洁。我应该使用 const 还是 let?显然状态将会改变。
这是我正在谈论的一个例子。我想再次强调,当用户与我的应用程序交互时,myValues 将会发生变化。
class MyComponent extends Component {
render() {
// Here, should I use const or let?
const myValues = this.props.someData;
return(
<div>
{myValues.map(item => (
<SomeOtherComponent key={item.id} data={item} />
))}
</div>
);
};
}
function mapStateToProps(state) {
return {
someData: state.someValuesComingFromApi
}
}
export default connect(mapStateToProps)(MyComponent)
最佳答案
const
是变量不会被重新分配的信号。
let
是变量可能被重新分配
需要思考的其他事情:
- 默认使用
const
- 仅在需要重新绑定(bind)时才使用
let
const
并不表示某个值是“常量”或不可变的。const foo = {}; foo.bar = 10; console.log(foo.bar); // --> 10
只有绑定(bind)是不可变的。即在 const 变量上使用赋值运算符或一元或后缀 -- 或++ 运算符会引发 TypeError 异常
ES6
const
和let
是 hoisted也。尽管标识符在编译时具有相同的内存引用,但在代码中声明之前无法访问它们。 (但不像我们想象的那样,声明会被物理移动到范围的顶部);)
关于reactjs - React 组件中的 const 或 let,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40825010/