自学内容网 自学内容网

React参数传递问题

问题描述


<div className="reply-list">
          {/* 评论项 */}
          {list.map((item) => {
            console.log("map 里面的item", item);
            return <CommentItem item={item} />;  // 调用组件并传递参数item
          })}
        </div>  
// 在组件中使用形参
function CommentItem(item) { // 这种写法 就出错

function CommentItem({ item }) { //  这种写法就对 为什么????

解答

在 React 中,组件的 props 可以通过对象解构的方式来传递。因此,当你使用 { item } 的方式来定义函数参数时,实际上是在从 props 对象中解构出 item 属性。这种写法通常更为常见和推荐,因为它能够明确地指示组件需要哪些 props,并且提供了更好的代码可读性和维护性。

而当你使用 CommentItem(item) 这种方式时,实际上将整个 props 对象作为参数传递给了 CommentItem 函数。这样做虽然也可以正常工作,但是在函数内部需要手动从参数中提取 item 属性,相对来说不够清晰

因此,推荐使用 { item } 的方式来定义函数参数,以保证代码的清晰度和可读性。


原文地址:https://blog.csdn.net/weixin_63681863/article/details/137941191

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!