假设我有一个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)
constvs let主要与代码块中的“更改”有关。仅在以下情况下才重要:
const
let
const myValues = this.props.someData; if (*some condition*) { myValues = []; }
在这种情况下,您将需要使用let,因为您正在更改分配给变量的值myValues:
myValues
let myValues = this.props.someData; if (*some condition*) { myValues = []; }
如果props.someData更改,将触发组件的重新渲染。因此const vs let不起作用。整个render方法将重新运行。
props.someData
render
如此说来,我会const在您所描述的情况下使用。除非您直接操纵变量的价值,否则请使用const。