您身边的网站建设专家
成功案例

【建站服务】甘肃网站建设_企业网站制作公司_高端网站设计开发-甘肃上往-域名申请

日期: 2022-09-21 06:03:44 浏览数:57


上往建站提供服务器空间服务商百度快照排名网站托管百度推广运营,致力于设计外包服务与源代码定制开发360推广搜狗推广,增加网站的能见度及访问量提升网络营销的效果,主营:网站公司,百度推广公司电话,官网搭建服务,网站服务企业排名,服务器空间,英文域名等业务,专业团队服务,效果好。


甘肃网站建设_企业网站制作公司_高端网站设计开发-甘肃上往

网站建设.png

ps 验证使用 propTypes,它可以保证我们的应用组件被正确使用,React.PropTypes 提供很多验证器 (validator) 来验证传入数据是否有效。当向 props 传入无效数据时,JavaScript 控制台会抛出警告。

以下实例创建一个 Mytitle 组件,属性 title 是必须的且是字符串,非字符串类型会自动转换为字符串 :

React 16.4 实例

var title = "菜鸟教程";// var title = 123;class MyTitle extends React.Component {  render() {    return (      <h1>Hello, {this.props.title}</h1>    );  }} MyTitle.propTypes = {  title: PropTypes.string};ReactDOM.render(    <MyTitle title={title} />,    document.getElementById('example'));

尝试一下 »

React 15.4 实例

var title = "菜鸟教程";// var title = 123;var MyTitle = React.createClass({  propTypes: {    title: React.PropTypes.string.isRequired,  },  render: function() {     return <h1> {this.props.title} </h1>;   }});ReactDOM.render(    <MyTitle title={title} />,    document.getElementById('example'));

尝试一下 »

更多验证器说明如下:

MyComponent.propTypes = {    // 可以声明 prop 为指定的 JS 基本数据类型,默认情况,这些数据是可选的   optionalArray: React.PropTypes.array,    optionalBool: React.PropTypes.bool,    optionalFunc: React.PropTypes.func,    optionalNumber: React.PropTypes.number,    optionalObject: React.PropTypes.object,    optionalString: React.PropTypes.string,    // 可以被渲染的对象 numbers, strings, elements 或 array    optionalNode: React.PropTypes.node,    //  React 元素    optionalElement: React.PropTypes.element,    // 用 JS 的 instanceof 操作符声明 prop 为类的实例。    optionalMessage: React.PropTypes.instanceOf(Message),    // 用 enum 来限制 prop 只接受指定的值。    optionalEnum: React.PropTypes.oneOf(['News', 'Photos']),    // 可以是多个对象类型中的一个    optionalUnion: React.PropTypes.oneOfType([      React.PropTypes.string,      React.PropTypes.number,      React.PropTypes.instanceOf(Message)    ]),    // 指定类型组成的数组    optionalArrayOf: React.PropTypes.arrayOf(React.PropTypes.number),    // 指定类型的属性构成的对象    optionalObjectOf: React.PropTypes.objectOf(React.PropTypes.number),    // 特定 shape 参数的对象    optionalObjectWithShape: React.PropTypes.shape({      color: React.PropTypes.string,      fontSize: React.PropTypes.number    }),


 // 任意类型加上 `isRequired` 来使 prop 不可空。

    requiredFunc: React.PropTypes.func.isRequired,

 

    // 不可空的任意类型

    requiredAny: React.PropTypes.any.isRequired,

 

    // 自定义验证器。如果验证失败需要返回一个 Error 对象。不要直接使用 `console.warn` 或抛异常,因为这样 `oneOfType` 会失效。

    customProp: function(props, propName, componentName) {

      if (!/matchme/.test(props[propName])) {

        return new Error('Validation failed!');

      }

    }

  }

}

 React State(状态)React 事件处理 

4 篇笔记 写笔记

   年轻的C同学


  tco***ence@gmail.com


20

上次在 React 组件看到这篇笔记没看懂,原来是这里的,现在贴过来分享一下。但是自己现在还是不太懂,希望过几天再来看的时候能够明白。


对创建多个组件的代码,做了点小修改,帮助大家理解。


<WebSite name="菜鸟教程" site=" http://www.runoob.com" />,这种形式传入的 name 和 url 值,只能在 WebSit 组件中用 this.props.xxx 来使用。虽然原来的代码中,Name 和 Site 组件中也是以同样的形式使用的,但并不是因为这条语句的作用,而是因为 <Name name={this.props.name} /> <Link site={this.props.site} /> 。所以我特意将这几行代码做了修改,方便大家感受感受!


WebSite 组件中:


<Name title={this.props.name}/> 

// 将this.props.name以title名称传给Name组件,Name通过this.props.title来使用其值

<Url site={this.props.url}/> 

// 将this.props.url以site名称传给Url组件,Url通过this.props.site来使用其值

Name 组件中:


<h1>{this.props.title}</h1>

Site 组件中:<a href={this.props.site}>{this.props.site}</a>


年轻的C同学

   年轻的C同学


  tco***ence@gmail.com


4年前 (2018-08-08)

   xjjuser


  xjj***r@yeah.net


39

来补充一下上面那位同学所说的。很多情况下,子控件需要父控件所有的 props 参数,这个时候我们一个一个参数的写会很麻烦,比如:


<Name name={this.props.name} url={this.props.url}  .../>

那么我们怎么样吧父属性直接赋值给子组件的props参数呢?如下写法即可:


<Name props={this.props}/>

这样写就非常简洁了,也就子控件和父控件都有了同样数据结构的 props 参数。


很多情况下我们调试页面时,看到的参数名在父控件和子控件中部一样,但是表示的值是同一个,写这段代码的人可能还记得这个参数是转译的,但是其他人阅读时就会摸不着头脑,在效率上是处于弱势的,所以我们一般建议引用父组件参数尽量保持名称不变,以便以后维护。


xjjuser

   xjjuser


  xjj***r@yeah.net


4年前 (2018-08-10)

   doo0301@qq.com


  doo***1@qq.com


17

Props 实现父与子通信:


甘肃网站建设_企业网站制作公司_高端网站设计开发-甘肃上往


上往建站提供搭建网站域名注册官网备案服务网店详情页设计企业网店专业网络店铺管理运营全托管公司咨询电话,服务器空间,微信公众号托管网页美工排版,致力于域名申请竞价托管软文推广全网营销,提供标准级专业技术保障,了却后顾之忧,主营:虚拟主机网站推广百度竞价托管网站建设上网建站推广服务网络公司有哪些等业务,专业团队服务,效果好。

服务热线:400-111-6878 手机微信同号:18118153152(各城市商务人员可上门服务)


全国咨询热线:400-111-6878

地址:全国各地都有驻点商务

Copyright © 2021 通陆科技

网站建设上往建站