React开发实战 —— 【四】传递参数

子组件向父组件传递参数

一、state属性

state对于模块而言属于自身的属性,做作用与当前的类, 不污染其他模块

1、初始化

  • 在react中,要在类的顶部初始化state的值,初始化要放在构造函数 constructor 里,以字典的形式初始化赋值。

  • 在constructor函数里,必须要加上 super()
    super表示的是当前类的父类,super()只是进行初始化的,继承父类的一些属性

2、调用state

  • 在组件中调用state的时候 只需要用{this.state.keyName}的格式就可以。

3、修改state

  • state不能直接更改值,必须使用this.setState()
constructor () {  
        super() 
        this.state = { name: "lauder"} 
    }
class a extends component{
  render(){

   setTimeout(()=>{ //计时函数,4秒之后将userName改为anguo
            this.setState({userName:"anguo"}) //修改sate的值
        },4000);

    return(
      {this.state.name}
)}
}

二、Props 属性

props对于模块而言,属于外来属性, 同样也不会污染其他模块

1、传递参数

在父组件,直接在子组件内添加属性进行传参<classA name={"lauder"}>;

2、模块中接收参数

在子组件接收父组件传递的参数,{this.props.name}
 
 

三、绑定事件

利用监听事件onClick触发函数,来改变state参数。

注意:bind()是ES6的方法,用来确保 this 的指向是正确的,此处,因为this是react中的组件实例,所以要在这里重新指向一下。

class PCBody extends Component{

    changeUserInfo(){
        this.setState({userName:"MAMA"});
    }
    render(){
     return(
            <div>  
                <p>age: {this.state.userName}</p>
                <input type="button" value="提交" 
onClick={this.changeUserInfo.bind(this)}/>
            </div>
        ) }

子组件向父组件传递参数

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,799评论 19 139
  • 最近看了一本关于学习方法论的书,强调了记笔记和坚持的重要性。这几天也刚好在学习React,所以我打算每天坚持一篇R...
    gaoer1938阅读 5,675评论 0 5
  • 目录:那时花正开 夏小伊和高夕寒看着打闹的几个人,有说有笑的,非常开心。正说着,江锦瑟跑了过来,说:“你俩刚才说啥...
    土立土及阅读 3,980评论 0 2
  • 谁,执我之手,敛我半世癫狂; 谁,吻我之眸,遮我半世流离; 谁,抚我之面,慰我半世哀伤; 谁,携我之心,融我半世冰...
    我就是可能阅读 1,397评论 0 0
  • 文/莫辰琰 不要问我对这个世界有何看法,因为我的心愿是——世界和平,这是薛之谦的logo。 ...
    莫辰琰阅读 2,532评论 0 3