美文网首页
props校验传值:

props校验传值:

作者: 五四青年_4e7d | 来源:发表于2020-02-18 21:09 被阅读0次
//父组件:
import React, { Component, Fragment } from 'react';
import Home from  './App.test'
import './App.css';

class App extends Component {
  constructor(props) {
    super(props)
    this.state = {
      inputValue: '',
      list: ['js' ,'css']
    }
  }
  render() {
    return (
      
      <Fragment>
       <div>
         <label>增加服务</label>
         <input  value={this.state.inputValue}  onChange={this.inputChange.bind(this)}/>
         <button onClick={this.addLsit.bind(this)}>增加</button>
       </div>
       <ul>
         {
           this.state.list.map((item,index)=>{
             return (
                 <Home
                  key={index+item} 
                  content={item}  
                  index={index}
                  deleteItem={this.deleteItem.bind(this)} />
             )
           })
         }
       </ul>
        </Fragment>
    )
  }
  inputChange(e){
    this.setState({
      inputValue:e.target.value
    })
   
  }
  //增加列表:
  addLsit(){
    this.setState({
      list:[...this.state.list,this.state.inputValue],
      inputValue:''
    })
  }

  //删除列表项:
  deleteItem(index){
    let list = this.state.list
    list.splice(index,1)
    this.setState({
      list:list
    })

  }
}
export default App;

//子组件:
import React, { Component, Fragment } from 'react';

import PropTypes from 'prop-types'

class Home  extends Component {
  constructor(props){
   super(props)
   this.hadleClick = this.hadleClick.bind(this)
   }
  
  render() {
    return (
      <li onClick={this.hadleClick}>{this.props.avname}{this.props.content}</li>
    )
  }

 hadleClick(){
   console.log(this.props.index)
   this.props.deleteItem(this.props.index)
 }
}

Home.propTypes={
  avname:PropTypes.string.isRequired,
  content:PropTypes.string,
  index:PropTypes.number,
  deleteItem:PropTypes.func
}

Home.defaultProps={
  avname: '项目'
}



export default  Home;

相关文章

  • props校验传值:

  • 『react』 props深入

    一、props校验 二、props的默认值

  • React Native 参数传递

    总结 props 传值 props传值很简单,通常用于 navigation 父子页面间传值 NativeEven...

  • Props、State

    Props属性实现组件传值 Props是properties的简写。通过Props可以组件传值如下例子 React...

  • 2018-09-05

    组件传值问题 父组件给子组件传值应该使用props。子组件要给父组件传值,需要调用父组件传递的方法。props传值...

  • 知识点

    一、props特性 传入对象形式进行props校验,required:true 必须要有值props不可以直接修改...

  • Vue CLI——组件间传值

    一、父子组件传值 1、父传子 (1)props 父组件向子组件传值,可以通过绑定属性传值;子组件通过props接收...

  • 父子组件的传值

    一,父组件向子组件传值 1⃣️,静态的传值props 2⃣️,动态的传值props 要动态地绑定父组件的数据到子模...

  • 组件与组件、页面之间的通信

    一、props传值 props传值在WePY中属于父组件与子组件之间(包括页面与其子组件之间)传值的一种机制,包括...

  • Vue组件传值

    vue组件传值 一、父组件向子组件传值方式: 1. 子组件中定义props,父组件向子组件props进行传值。 2...

网友评论

      本文标题:props校验传值:

      本文链接:https://www.haomeiwen.com/subject/vsjnfhtx.html