在传递道具时我应该总是写这个.props吗?

时间:2018-01-31 16:22:17

标签: javascript reactjs react-redux

我从redux商店对象props获取user

当我将它传递给我的组件子项时,我实现它如下

render(){
 return(
  <Component 
     num={this.props.user.num}
     id={this.props.user.id}
     name={this.props.user.name}/>
 )
}

或者我应该提前提取变量?

render(){
 const {num, id, name} = this.props.user;
 return(
  <Component 
     num={num}
     id={id}
     name={name}/>
 )
}

哪个有更好的表现?

注意:this.props.user是一个很大的JSON,所以我不想像这样使用

<Component {...this.props.user}/>

1 个答案:

答案 0 :(得分:2)

你的问题有两个问题。

  

标题中的问题:&#34;我在传递道具时是否应该总是写这个。&#34;

除非您编写this.props.whatever,否则无法访问这些属性。所以一开始你需要它。然后,如果您希望重构它,那么您不必每次都输入this.props.~,而是将每个所需的属性提取到变量中。

  

问题主体末尾的问题:&#34;哪个有更好的表现?&#34;

我认为它们的表现几乎相同,但就空间效率而言,您将通过解构创建额外的变量。但我不认为这对你的情况非常重要。因此,为了便于阅读和清洁代码,为什么不进行结构化?