组件与props

创建组件

  1. 函数式创建函数组件
function Welcome(props) {
  return <h1>Hello, {props.name}</h1>;
}
  1. ES6语法创建类组件
class Welcome extends React.Component {
  render() {
    return <h1>Hello, {this.props.name}</h1>;
  }

将组件渲染至页面

function Welcome(props) {
  return <h1>Hello, {props.name}</h1>;
}

const element = <Welcome name="Sara" />;
ReactDOM.render(
  element,
  document.getElementById('root')
);

React约定,组件名称使用大写开头,如<Welcome /> 表示组件 <div/>则表示HTML标签

组件中使用组件

function Welcome(props) {
  return <h1>Hello, {props.name}</h1>;
}

function App() {
  return (
    <div>
      <Welcome name="Sara" />
      <Welcome name="Cahal" />
      <Welcome name="Edite" />
    </div>
  );
}

ReactDOM.render(
  <App />,
  document.getElementById('root')
);

props不可改变

function Welcome(props){
    props.name = 'JAVA';
    return <h1>Hello {props.name}</h1>
}

const element = <Welcome name="react"/>
ReactDOM.render(element, document.getElementById('root'));

以上代码试图改变props的值,但编译的时候报错了

image.png

props传值

  1. 通过引号传值(传递的值只能作为字符串)
function Welcome(props){
    return <h1>Hello {1 + props.num}</h1>
}
const element = <Welcome num="1"/>
ReactDOM.render(element, document.getElementById('root'));
image.png
  1. 通过{}方式传值,将保留值原来的类型
function Welcome(props){
    return <h1>Hello {1 + props.num}</h1>
}
const element = <Welcome num={1}/>
ReactDOM.render(element, document.getElementById('root'));
image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 关于JSX 考虑这样一段代码:const element = Hello, world! ;这段代码既不是字符串...
    带三本书阅读 2,944评论 0 1
  • 原教程内容详见精益 React 学习指南,这只是我在学习过程中的一些阅读笔记,个人觉得该教程讲解深入浅出,比目前大...
    leonaxiong阅读 7,846评论 1 18
  • Learn from React 官方文档 一、Rendering Elements 1. Rendering a...
    恰皮阅读 7,510评论 2 3
  • 目前,react组件有三种写法,分别是es5的createClass写法,es6的class写法,以及statel...
    ZoomFunc阅读 5,803评论 0 1
  • 参照React官网,基本上就是自己直译过来的,因为看着英文很别扭React官网 Component 组件分离你的U...
    海娩阅读 3,153评论 3 0