react PropTypes校验传递的值操作示例


Posted in Javascript onApril 28, 2020

本文实例讲述了react PropTypes校验传递的值操作。分享给大家供大家参考,具体如下:

校验传递的值:

import React, { Component, Fragment } from 'react';
import List from './List.js';
 
class Test extends Component {
  constructor(props) {
    super(props);
    this.state={
      inputValue:'aaa',
      list:['睡觉','打游戏'],
    }
    // this.add=this.add.bind(this);
  }
 
  addList() {
    this.setState({
      list:[...this.state.list,this.state.inputValue],
      inputValue:''
    })
  }
 
  change(e) {
    this.setState({
      inputValue:e.target.value
    })
  }
 
  delete(i) {
    // console.log(i);
    const list = this.state.list;
    list.splice(i,1);
    this.setState({
      list:list
    })
  }
 
  render() { 
    return (
      <Fragment>
      <div>
        <input value={this.state.inputValue} onChange={this.change.bind(this)}/>
        <button onClick={this.addList.bind(this)}>添加</button>
      </div>
      <ul>
        {
          this.state.list.map((v,i)=>{
            return(
                <List key={i} content={v} index={i} delete={this.delete.bind(this)} />
            );
          })
        }
      </ul>
      </Fragment>
    );
  }
}
export default Test;
import React, { Component } from 'react';
import PropTypes from 'prop-types';
 
class List extends Component {
  constructor(props) {
    super(props);
    this.delete = this.delete.bind(this);
  }
 
  render() { 
    return (
    <li
      onClick={this.delete}
    >{this.props.name}{this.props.content}</li>
    );
  }
 
  delete=() => {
    this.props.delete(this.props.index);
  }
}
 
//传值校验
 
List.propTypes={
  name:PropTypes.string.isRequired,
  content:PropTypes.string,
  index:PropTypes.number,
  delete:PropTypes.func
}
 
//设置默认值:
 
List.defaultProps={
  name:'张三'
}
 
export default List;

希望本文所述对大家react程序设计有所帮助。

Javascript 相关文章推荐
限制文本字节数js代码
Mar 06 Javascript
javascript脚本调试方法小结
Nov 24 Javascript
简略的前端架构心得&amp;&amp;基于editor为例子的编码小技巧
Nov 25 Javascript
JSON语法五大要素图文介绍
Dec 04 Javascript
javascript中处理时间戳为日期格式的方法
Jan 02 Javascript
了不起的node.js读书笔记之例程分析
Dec 22 Javascript
一览画面点击复选框后获取多个id值的方法
May 30 Javascript
BootStrap Table 设置height表头与内容无法对齐的问题
Dec 28 Javascript
如何用RxJS实现Redux Form
Dec 29 Javascript
解决echarts echarts数据动态更新和dataZoom被重置问题
Jul 20 Javascript
Nuxt.js的路由跳转操作(页面跳转nuxt-link)
Nov 06 Javascript
JavaScript实现弹出窗口效果
Dec 09 Javascript
vue 百度地图(vue-baidu-map)绘制方向箭头折线实例代码详解
Apr 28 #Javascript
Vue + Scss 动态切换主题颜色实现换肤的示例代码
Apr 27 #Javascript
浅析vue cli3 封装Svgicon组件正确姿势(推荐)
Apr 27 #Javascript
react组件基本用法示例小结
Apr 27 #Javascript
react基本安装与测试示例
Apr 27 #Javascript
使用konva和vue-konva库实现拖拽滑块验证功能
Apr 27 #Javascript
JS浏览器BOM常见操作实例详解
Apr 27 #Javascript
You might like
图形数字验证代码
2006/10/09 PHP
不用数据库的多用户文件自由上传投票系统(3)
2006/10/09 PHP
php SQL防注入代码集合
2008/04/25 PHP
php xml文件操作实现代码(二)
2009/03/20 PHP
php延迟静态绑定实例分析
2015/02/08 PHP
php文件系统处理方法小结
2016/05/23 PHP
php变量与JS变量实现不通过跳转直接交互的方法
2017/08/25 PHP
PHP多进程通信-消息队列使用
2019/03/08 PHP
JQuery Ajax通过Handler访问外部XML数据的代码
2010/06/01 Javascript
jquery 学习之二 属性(html()与html(val))
2010/11/25 Javascript
Javascript冒泡排序算法详解
2014/12/03 Javascript
JS运动框架之分享侧边栏动画实例
2015/03/03 Javascript
jQuery实现仿路边灯箱广告图片轮播效果
2015/04/15 Javascript
动态加载jQuery的方法
2015/06/16 Javascript
JS使用cookie实现DIV提示框只显示一次的方法
2015/11/05 Javascript
JavaScript必知必会(九)function 说起 闭包问题
2016/06/08 Javascript
jQuery网页定位导航特效实现方法
2016/12/19 Javascript
js选项卡的制作方法
2017/01/23 Javascript
基于JavaScript实现选项卡效果
2017/07/21 Javascript
vue项目前端微信JSAPI与外部H5支付相关实现过程及常见问题
2020/04/14 Javascript
零基础写python爬虫之神器正则表达式
2014/11/06 Python
Python中的super用法详解
2015/05/28 Python
python寻找list中最大值、最小值并返回其所在位置的方法
2018/06/27 Python
解决安装pycharm后不能执行python脚本的问题
2019/01/19 Python
浅谈Python_Openpyxl使用(最全总结)
2019/09/05 Python
TensorFlow Saver:保存和读取模型参数.ckpt实例
2020/02/10 Python
日本土著品牌,综合型购物网站:Cecile
2016/08/23 全球购物
香港草莓网:Strawberrynet香港
2019/05/10 全球购物
领导失职检讨书
2014/02/24 职场文书
腾讯广告词
2014/03/19 职场文书
ktv好的活动方案
2014/08/15 职场文书
优秀员工自荐书
2015/03/06 职场文书
社区义诊通知
2015/04/24 职场文书
新郎婚礼致辞
2015/07/27 职场文书
2019企业给员工的慰问信
2019/06/24 职场文书
html css3不拉伸图片显示效果
2021/06/07 HTML / CSS