作家
登录

编写react组件最佳实践

作者: 来源: 2017-05-18 08:56:30 阅读 我要评论

  •           <h1>{title}</h1> 
  •           <input 
  •             type="text" 
  •             value=http://developer.51cto.com/art/201705/{model.name
  •             onChange={this.handleNameChange} 
  •             placeholder="Your Name"/> 
  •         </div> 
  •       </ExpandableForm> 
  •     ) 
  •   } 
  •  
  • 对于有很多props的组件来说,应当像上述写法一样,将每个属性解构出来,且每个属性零丁一行。

    装潢器(Decorators)

    1. @observer 
    2.  
    3. export default class ProfileContainer extends Component {  

    如不雅你正在应用类似于mobx的状况治理器,你可以按照上述方法描述你的组件。这种写法与将组件作为参数传递给一个函数效不雅是一样的。装潢器(decorators)是一种异常灵活和易读的定义组件功能的方法。我们应用mobx和mobx-models来结合装潢器进行应用。

    如不雅你不想应用装潢器,可以按照如下方法来做:

    1. class ProfileContainer extends Component { 
    2.  
    3. // Component code 
    4.  
    5.  
    6. export default observer(ProfileContainer)  

    避免向子组件传入闭包,如下:

    1. import React from 'react' 
    2. import { observer } from 'mobx-react' 
    3. import { func, bool } from 'prop-types' 
    4.  
    5. import './styles/Form.css' 
    6. ExpandableForm.propTypes = { 
    7.   onSubmit: func.isRequired, 
    8.   expanded: bool, 
    9.   onExpand: func.isRequired 
    10. function ExpandableForm(props) { 
    11.   const formStyle = props.expanded ? {height: 'auto'} : {height: 0} 
    12.   return ( 
    13.     <form style={formStyle} onSubmit={props.onSubmit}> 
    14.       {props.children} 
    15.       <button onClick={props.onExpand}>Expand</button> 
    16.     </form> 
    17.   ) 
    18.  
    1. <input 
    2.             type="text" 
    3.             value=http://developer.51cto.com/art/201705/{model.name

        推荐阅读

        Java反射机制应用实践

      引言反射基本p.s: 本文须要读者对反射机制的API有必定程度的懂得,如不雅之前没有接触过的话,建议先看一下官方文档的Quick Start。在应用反射机制之前,起首我们先来看一下若何获取一个对>>>详细阅读


      本文标题:编写react组件最佳实践

      地址:http://www.17bianji.com/lsqh/35286.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)