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 相关文章推荐
ExtJS 2.0实用简明教程 之ExtJS版的Hello
Apr 29 Javascript
分享10篇优秀的jQuery幻灯片制作教程及应用案例
Apr 16 Javascript
javascript ie6兼容position:fixed实现思路
Apr 01 Javascript
JS解决url传值出现中文乱码的另类办法
Apr 08 Javascript
获取内联和链接中的样式(js代码)
Apr 11 Javascript
解决自定义$(id)的方法与jquery选择器$冲突的问题
Jun 14 Javascript
Vuex模块化实现待办事项的状态管理
Mar 15 Javascript
理解javascript async的用法
Aug 22 Javascript
深入浅出vue图片路径的实现
Sep 04 Javascript
layer.confirm()右边按钮实现href的例子
Sep 27 Javascript
JS正则表达式验证端口范围(0-65535)
Jan 06 Javascript
Vue 数据响应式相关总结
Jan 28 Vue.js
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
谈谈新手如何学习PHP
2006/12/14 PHP
PHP生成UTF8文件的方法
2010/05/15 PHP
php实现对象克隆的方法
2015/06/20 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
2018/08/20 PHP
javascript 变量作用域 代码分析
2009/06/26 Javascript
javascript 全等号运算符使用说明
2010/05/31 Javascript
Package.js  现代化的JavaScript项目make工具
2012/05/23 Javascript
解析Jquery取得iframe中元素的几种方法
2013/07/04 Javascript
模拟一个类似百度google的模糊搜索下拉列表
2014/04/15 Javascript
jQuery中prependTo()方法用法实例
2015/01/08 Javascript
jquery实现表单验证简单实例演示
2015/11/23 Javascript
jQuery数据检索中根据关键字快速定位GridView指定行的实现方法
2016/06/08 Javascript
利用NPM淘宝的node.js镜像加速nvm
2017/03/27 Javascript
node中koa中间件机制详解
2017/08/22 Javascript
jQuery动态生成的元素绑定事件操作实例分析
2019/05/04 jQuery
vue集成chart.js的实现方法
2019/08/20 Javascript
Vue中keep-alive组件的深入理解
2020/08/23 Javascript
浅谈vue websocket nodeJS 进行实时通信踩到的坑
2020/09/22 NodeJs
Python实现的多线程端口扫描工具分享
2015/01/21 Python
Python使用PDFMiner解析PDF代码实例
2017/03/27 Python
用virtualenv建立多个Python独立虚拟开发环境
2017/07/06 Python
Python如何重新加载模块
2020/07/29 Python
Linux系统下升级pip的完整步骤
2021/01/31 Python
Cotton On美国网站:澳洲时装连锁品牌
2016/10/25 全球购物
美国名牌太阳镜折扣网站:Eyedictive
2017/05/15 全球购物
阿迪达斯印尼官方网站:adidas印尼
2020/02/10 全球购物
DTD的含义以及作用
2014/01/26 面试题
暑期研修感言
2014/02/17 职场文书
GMP办公室主任岗位职责
2014/03/14 职场文书
初三班主任寄语大全
2014/04/04 职场文书
航空学院求职信
2014/06/11 职场文书
上党课的心得体会
2014/09/02 职场文书
科技活动总结范文
2015/05/11 职场文书
职位证明模板
2015/06/23 职场文书
各种货币符号快捷输入
2022/02/17 杂记
CSS控制继承中的height能变为可继承吗
2022/06/10 HTML / CSS