学习react第三天-属性传递

45 阅读1分钟

如何传递?

  1. 可以分开传,可以针对不同的属性,在组件上传递(注意花括号的问题);

  2. props传递,把参数对象使用props的方式传递。

子组件读取与属性默认值

{ 分开传参 }
function Avatar({ person, size }) {  
    // person and size are available here  
}

{ props传参 }
function Avatar(props) {  
    let person = props.person;  
    let size = props.size;  
}

{  }
function Profile(props) {  
    return (  
        <div className="card">  
        <Avatar {...props} />  
        </div>  
    );  
}

{ 传递JSX }
function Card({ children }) {
  return (
    <div className="card">
      {children}
    </div>
  );
}

组件内的属性不是静止的,组件可能会随着时间的推移接收不同的属性。组件总是从父级接受

PS:(props 是 不可变的 - 计算机科学中的一个术语,意思是 “不可修改的”。当组件需要更改其属性时(例如,响应用户交互或新数据),它必须对其父组件进行 “询问” 才能向其传递不同的属性- 一个新对象!它的旧属性将被丢弃,最终 JavaScript 引擎将回收它们占用的内存。)

具有 children 属性的组件视为具有 “空缺”,而 “空缺” 可以被其具有任意 JSX 的父组件 “填补”。你将经常使用 children 属性作为可视封装器:面板、网格等