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 相关文章推荐
QQ登录简单实现代码
Mar 09 Javascript
JavaScript判断窗口是否最小化的代码(跨浏览器)
Aug 01 Javascript
js去字符串前后空格5种实现方法及比较
Apr 03 Javascript
高效的获取当前元素是父元素的第几个子元素
Oct 15 Javascript
JavaScript动态插入script的基本思路及实现函数
Nov 11 Javascript
js+csss实现的一个带复选框的下拉框
Sep 29 Javascript
jQuery插件之Tocify动态节点目录菜单生成器附源码下载
Jan 08 Javascript
javascript中利用柯里化函数实现bind方法【推荐】
Apr 29 Javascript
jQuery基于ajax操作json数据简单示例
Jan 05 Javascript
原生js实现对Ajax的封装(仿jquery)
Jan 22 Javascript
微信小程序商城项目之购物数量加减(3)
Apr 17 Javascript
uni-app如何页面传参数的几种方法总结
Apr 28 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
Mysql数据库操作类( 1127版,提供源码下载 )
2010/12/02 PHP
php分页函数示例代码分享
2014/02/24 PHP
php字符串函数学习之substr()
2015/03/27 PHP
php实现批量修改文件名称的方法
2016/07/23 PHP
PHP实现字符串大小写转函数的功能实例
2019/02/06 PHP
一些相见恨晚的 JavaScript 技巧
2010/04/25 Javascript
javascript实现支持移动设备画廊
2015/08/24 Javascript
JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
2015/11/24 Javascript
jQuery 常用代码集锦(必看篇)
2016/05/16 Javascript
angularjs封装bootstrap时间插件datetimepicker
2016/06/20 Javascript
使用jquery判断一个元素是否含有一个指定的类(class)实例
2017/02/12 Javascript
jQuery实现html table行Tr的复制、删除、计算功能
2017/07/10 jQuery
JavaScript实现简单的双色球(实例讲解)
2017/07/31 Javascript
详解vue-admin和后端(flask)分离结合的例子
2018/02/12 Javascript
vue中的计算属性实例详解
2018/09/19 Javascript
vue 强制组件重新渲染(重置)的两种方案
2019/10/29 Javascript
JS严格模式原理与用法实例分析
2020/04/27 Javascript
javaScript实现一个队列的方法
2020/07/14 Javascript
js实现省级联动(数据结构优化)
2020/07/17 Javascript
python中的hashlib和base64加密模块使用实例
2014/09/02 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
2017/07/10 Python
python实现点对点聊天程序
2018/07/28 Python
Python中整数的缓存机制讲解
2019/02/16 Python
应用OpenCV和Python进行SIFT算法的实现详解
2019/08/21 Python
python类的实例化问题解决
2019/08/31 Python
python实现网站微信登录的示例代码
2019/09/18 Python
python ctypes库2_指定参数类型和返回类型详解
2019/11/19 Python
Python调用Windows API函数编写录音机和音乐播放器功能
2020/01/05 Python
python统计文章中单词出现次数实例
2020/02/27 Python
python批量替换文件名中的共同字符实例
2020/03/05 Python
eBay美国官网:eBay.com
2020/10/24 全球购物
现金会计岗位职责
2013/12/05 职场文书
写好自荐信需做到的5要点
2014/03/07 职场文书
西柏坡导游词
2015/02/05 职场文书
公司借款担保书
2015/09/22 职场文书
Python测试框架pytest高阶用法全面详解
2022/06/01 Python