zoukankan      html  css  js  c++  java
  • 24-React Components组件

    Components 组件

    1.组件 可以让UI独立的分割出来,可以让UI重复利用。
    2.组件就像是JavaScript函数,它们能够接收任意的输入(称为“props”,即属性)并且返回React元素。
    3.组件可以嵌套组件。

    用javascript函数定义一个组件(Functional 
    Components )。如下所示:

    function Welcome(props) {
    return

    Hello, {props.name}

    ;
    }

    用ES6 class来定义组件,如下所示:
    class Welcome extends React.Component {
    render() {
    return

    Hello, {this.props.name}

    ;
    }
    }
    当通过调用 React.createClass() 来创建组件的时候,你应该提供一个包含 render 方法的对象,并且也可以包含其它的在这里描述的生命周期方法。

    render
    ReactComponent render()
    render() 方法是必须的。

    当调用的时候,会检测 this.props 和 this.state,返回一个单子级组件。该子级组件可以是虚拟的本地 DOM 组件(比如

    或者 React.DOM.div()),也可以是自定义的复合组件。

    你也可以返回 null 或者 false 来表明不需要渲染任何东西。实际上,React 渲染一个

    render() 函数应该是纯粹的,也就是说该函数不修改组件 state,每次调用都返回相同的结果,不读写 DOM 信息,
    也不和浏览器交互(例如通过使用 setTimeout)。如果需要和浏览器交互,在 componentDidMount() 中或者其它生命周期方法中做这件事。
    保持 render() 纯粹,可以使服务器端渲染更加切实可行,也使组件更容易被理解。

    React 组件实例在渲染的时候创建。这些实例在接下来的渲染中被重复使用,可以在组件方法中通过 this 访问。
    唯一一种在 React 之外获取 React 组件实例句柄的方式就是保存 React.render 的返回值。在其它组件内,可以使用 refs 得到相同的结果。

    属性props

    function Welcome(props) {
    return

    Hello, {props.name}

    ;
    }
    const element = ;
    ReactDOM.render( element, document.getElementById('root') );

    如上代码所示:name=“Sara” 将被组装成对象{name: ‘Sara’} ,
    并且这个对象将被渲染成属性传递给组件。

    属性(props)是只读的,你无法改变传入的属性值

  • 相关阅读:
    欢迎使用CSDN-markdown编辑器
    银行票据
    【思考】:怎样把论文按照一定格式生成模板?
    ARP地址解析协议
    ACL访问控制列表
    dns域名系统
    NAT网络地址转换
    MAC地址如何在windows与unix下查看?
    银行承兑汇票的推广与使用给中国企业带来的影响?
    win7 复制文件慢的解决方法
  • 原文地址:https://www.cnblogs.com/fengxuefei/p/6250607.html
Copyright © 2011-2022 走看看