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 相关文章推荐
ext for eclipse插件安装方法
Apr 27 Javascript
对Jquery中的ajax再封装,简化操作示例
Feb 12 Javascript
JS创建类和对象的两种不同方式
Aug 08 Javascript
jQuery实现为图片添加镜头放大效果的方法
Jun 25 Javascript
JS实现自动变换的菜单效果代码
Sep 09 Javascript
JavaScript必知必会(九)function 说起 闭包问题
Jun 08 Javascript
AngularJS表单基本操作
Jan 09 Javascript
Bootstrap路径导航与分页学习使用
Feb 08 Javascript
canvas红包照片实例分享
Feb 28 Javascript
浅谈Vuex@2.3.0 中的 state 支持函数申明
Nov 22 Javascript
JavaScript基于面向对象实现的猜拳游戏
Jan 03 Javascript
垃圾回收器的相关知识点总结
May 13 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
php入门学习知识点四 PHP正则表达式基本应用
2011/07/14 PHP
Could not load type System.ServiceModel.Activation.HttpModule解决办法
2012/12/29 PHP
php中设置index.php文件为只读的方法
2013/02/06 PHP
使用php的HTTP请求的库Requests实现美女图片墙
2015/02/22 PHP
PHP+Mysql基于事务处理实现转账功能的方法
2015/07/08 PHP
详解PHP中的mb_detect_encoding函数使用方法
2015/08/18 PHP
PHP实现递归无限级分类
2015/10/22 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
2016/03/29 PHP
分享5个非常有用的Laravel Blade指令
2018/05/30 PHP
Laravel基础_关于view共享数据的示例讲解
2019/10/14 PHP
JavaScript 面向对象之命名空间
2010/05/04 Javascript
按给定几率进行随机抽取的js代码
2010/12/28 Javascript
jquery一句话全选/取消全选
2011/03/01 Javascript
纯JAVASCRIPT图表动画插件Highcharts Examples
2011/04/16 Javascript
jQuery+ajax实现动态执行脚本的方法
2015/01/27 Javascript
浅析JavaScript事件和方法
2015/02/28 Javascript
教你如何使用firebug调试功能了解javascript闭包和this
2015/03/04 Javascript
javascript实现十秒钟后注册按钮可点击的方法
2015/05/13 Javascript
javascript实现3D变换的立体圆圈实例
2015/08/06 Javascript
jQuery+HTML5美女瀑布流布局实现方法
2015/09/21 Javascript
js弹出窗口简单实现代码
2017/03/22 Javascript
Vue keep-alive实践总结(推荐)
2017/08/31 Javascript
vue采用EventBus实现跨组件通信及注意事项小结
2018/06/14 Javascript
微信小程序模板template简单用法示例
2018/12/04 Javascript
webpack中的模式(mode)使用详解
2020/02/20 Javascript
Python 文件和输入输出小结
2013/10/09 Python
Python 抓取动态网页内容方案详解
2014/12/25 Python
python实现登陆知乎获得个人收藏并保存为word文件
2015/03/16 Python
Python数据可视化教程之Matplotlib实现各种图表实例
2019/01/13 Python
浅谈Python的条件判断语句if/else语句
2019/03/21 Python
python自动生成model文件过程详解
2019/11/02 Python
农村环境卫生倡议书
2015/04/29 职场文书
MySQL root密码的重置方法
2021/04/21 MySQL
python通配符之glob模块的使用详解
2021/04/24 Python
Pytorch 实现变量类型转换
2021/05/17 Python
mysql 获取相邻数据项
2022/05/11 MySQL