Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在React中将道具传递给组件的正确方法是什么?_Javascript_Reactjs_React Redux - Fatal编程技术网

Javascript 在React中将道具传递给组件的正确方法是什么?

Javascript 在React中将道具传递给组件的正确方法是什么?,javascript,reactjs,react-redux,Javascript,Reactjs,React Redux,我想知道在对象道具或普通道具中,哪种方法或“正确方式”可以更好地将道具传递给组件: { this.props.data && this.props.data.map((item) => { return( <MyComponent title={ item.title } thumbnail={ item.thumbnail } /> ) }); } 普通道具: { this.props.data && this.props.d

我想知道在对象道具或普通道具中,哪种方法或“正确方式”可以更好地将道具传递给组件:

{ this.props.data && this.props.data.map((item) => {
  return(
    <MyComponent title={ item.title } thumbnail={ item.thumbnail } />
  )
});
}
普通道具:

{ this.props.data && this.props.data.map((item) => {
  return(
    <MyComponent title={ item.title } thumbnail={ item.thumbnail } />
  )
});
}
{this.props.data&&this.props.data.map((项)=>{
返回(
)
});
}
或对象:

{ this.props.data && this.props.data.map((item) => {
  return(
    <MyComponent singleItem = { item } />
  )
});
}
{this.props.data&&this.props.data.map((项)=>{
返回(
)
});
}

我应该使用哪一个?

两个都可以。但是,如果您计划使用来最小化重新渲染,并且
title
thumbnail
中的任何一个都是JS原语,那么您应该分别传递它们以利用浅相等性

如果您想单独向他们传递
道具
,但又不想单独编写道具,可以使用排列符号:


两者都可以工作。但是,如果您计划使用来最小化重新渲染,并且
title
thumbnail
中的任何一个都是JS原语,那么您应该分别传递它们以利用浅相等性

如果您想单独向他们传递
道具
,但又不想单独编写道具,可以使用排列符号:


可能重复的我认为这是一个更简洁的问题,但如果社区认为这是重复的,我将删除此问题,谢谢你的建议。可能重复的我认为这是一个更简洁的问题,但如果社区认为这是重复的,我将删除此问题,谢谢你的建议。谢谢你的提示,应该组件安装周期和传播anotation(以前不起作用,idk为什么,也许是react版本)。但现在工作完美。这将是正确的答案。感谢您的时间。感谢您的提示,应该组件安装周期和传播anotation(以前不起作用,idk为什么,可能是react版本)。但现在工作完美。这将是正确的答案。谢谢您的时间。