我在很多例子中看到了以下做法,即使有一个道具也是如此:
render() {
const { thisProp, thatProp } = this.props;
return (
<Component passedPropA={thisProp} passedPropB={thatProp} />
);
}
创建同一数据的另一个副本有什么好处?为什么不直接使用这样的道具?
render() {
return (
<Component passedPropA={this.props.thisProp} passedPropB={this.props.thatProp} />
);
}
答案 0 :(得分:3)
我认为这个问题确实达到了2分。其中一个使用const作为不可变变量,另一个是解构。
要回答这个问题,使用const是因为它是不可变的,你不应该修改直接传递给你的东西。
但是你在维护良好的代码库中看到这个的原因是为了提高可读性。你看到确切的传递了什么,并在第一行使用了什么,以及它使用它更清晰简洁而没有调用整个路径E1101:Module 'tensorflow' has no __version__ member
。这里没有显示的是一些真正的功能,例如默认值和别名,虽然这有助于保持代码可读性的巨大数量。像:
this.props.thisProp