参考转载:链接:http://www.jianshu.com/p/83bda9cd8c67

1、refs

  <input type="text" ref="input">

  <div ref="div">222</div>

  <div ref={this.refHandle.bind(this)}>3333</div>

  则打印出来的 

  console.log(this.refs)    //object{input:input,div:div}

  ref是对元素添加的 一个属性,所有添加ref属性的元素,都将被放到一个对象中暂时储存起来,当想要访问这个DOM的时候,就可以通过this.refs.[name]来进行访问;

  ref的值不仅仅可以为一个名字,同时还可以为一个回调函数,

2、this.props

  <div name1="Jack" name2="Mary">666+++</div>

  则打印出来的

  console.log(this.props);          //object{name1:"Jack",name2:"Mary"}

  this.props将所有的元素中的属性都放到一个对象中储存起来,当利用的时候就可以通过this.props.[name]来调用这个属性;

3.生命周期函数

  3.1 componentDidMount() 再生命周期中只会调用一次,当渲染完成之后,标识已经渲染成为真实DOM插入html中,这时候获取元素就需要ref来获取。

  每次渲染之后都可以调用这个函数里面的逻辑,比如我this.setState()之后,更改了数据的内容,会引发组件的重新渲染。

4、父组件和子组件的互通

  父组件改变子组件,通过改变传入的props属性值即可。

  而子组件改变父组件的状态,则需要在父组件中创建钩子函数,然后让钩子函数通过props传递给子组件,并在子组件中执行。

  那么子组件与子组件之间的交互方式,也就是通过影响共同的父组件来进行交互的。一个子组件通过改变父组件中共同用的参数属性,就可以同时更改兄弟组件之间的变化。

  

 

关于react的一些疑问点的更多相关文章

  1. 个人对于React的Diff算法的一点疑问(待更新)

    本人对于Diff算法也并未做深入研究,只是大概的看过一些博文了解了些原理,但依然有了如下疑问 : 对于vdom所表示的对象中,若在该oldObj和newObj之间,发现一个元素节点所表示的子对象不见了 ...

  2. react 关于this.setState使用时,第一次无法获取数据,第二次获取的数据是第一次触发的疑问

    我使用的是antd组件, compareClickFn(orderCodes, fileNames) { printLog("orderCodes----------"+ orde ...

  3. react 疑问集锦

    在 setState 后未 re-render function component 初始化调用接口

  4. webpack+react+redux+es6开发模式

    一.预备知识 node, npm, react, redux, es6, webpack 二.学习资源 ECMAScript 6入门 React和Redux的连接react-redux Redux 入 ...

  5. 【腾讯Bugly干货分享】React Native项目实战总结

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/577e16a7640ad7b4682c64a7 “8小时内拼工作,8小时外拼成长 ...

  6. 再谈React.js实现原生js拖拽效果

    前几天写的那个拖拽,自己留下的疑问...这次在热心博友的提示下又修正了一些小小的bug,也加了拖拽的边缘检测部分...就再聊聊拖拽吧 一.不要直接操作dom元素 react中使用了虚拟dom的概念,目 ...

  7. React.js深入学习详细解析

    今天,继续深入学习react.js. 目录: 一.JSX介绍 二.React组件生命周期详解 三.属性.状态的含义和用法 四.React中事件的用法 五.组件的协同使用 六.React中的双向绑定   ...

  8. 谈谈我对前端组件化中“组件”的理解,顺带写个Vue与React的demo

    前言 前端已经过了单兵作战的时代了,现在一个稍微复杂一点的项目都需要几个人协同开发,一个战略级别的APP的话分工会更细,比如携程: 携程app = 机票频道 + 酒店频道 + 旅游频道 + ..... ...

  9. 基于React,Redux以及wilddog的聊天室简单实现

    本文主要是使用ReactJs和Redux来实现一个聊天功能的页面,页面极其简单.使用React时间不长,还是个noob,有不对之处欢迎大家吐槽指正. 还要指出这里没有使用到websocket等技术来实 ...

随机推荐

  1. 验证码及密码加密在java中使用

    package com.huawei.filter; import java.io.IOException; import javax.servlet.Filter;import javax.serv ...

  2. 论immutable不可变性

    什么叫immutable和mutable?简单来讲,一个immutable的对象一旦被创建好,它的状态将不会改变.反过来,如果一个类的实例是immutable的,那么我们把这个类也称作immutabl ...

  3. go_指针

    值传递:相当于在内存中拷贝一分变量出来,拷贝变量的改变对原变量不影响 引用传递:直接引用内存中的变量,会被改变 c,c++值传递和引用传递都有 Java,python多用引用传递 go语言指针简单之处 ...

  4. 对称二叉树 · symmetric binary tree

    [抄题]: Given a binary tree, check whether it is a mirror of itself (ie, symmetric around its center). ...

  5. 270. Closest Binary Search Tree Value 二叉搜索树中,距离目标值最近的节点

    [抄题]: Given a non-empty binary search tree and a target value, find the value in the BST that is clo ...

  6. Linux系统巡检常用命令-乾颐堂

    Linux系统需要定期巡检,以检查服务器软硬件使用情况,相当于对人的体检,确保可以及时发现问题.解决问题,降低损失,常用的巡检命令如下: # uname -a # 查看内核/操作系统/CPU信息 # ...

  7. HBase列族高级配置

    转自:http://blog.sina.com.cn/s/blog_ae33b83901018euz.html ------------------ HBase有几个高级特性,在你设计表时可以使用.这 ...

  8. Windows7 64位 安装mysql

    Windows上安装MySQL还是比较方便的,之前做过一个Windows10上面的安装方法,但是一个同学说自己的电脑是Windows7的,所以我写一个Windows7上的MySQL安装方法. MySQ ...

  9. 多校训练4——Hehe

    递推题: dp[i]表示字符串第i个字母前有多少种不同的方法 1.出现一个hehe:dp[i]=dp[i-4]+dp[i-2] 意思是dp[i]=当前的hehe换成wqnmlgb+当前的hehe不换成 ...

  10. kafka学习默认端口号9092

    一 Kafka 概述1.1 Kafka 是什么在流式计算中,Kafka 一般用来缓存数据,Storm 通过消费 Kafka 的数据进行计算.1)Apache Kafka 是一个开源消息系统(微信公众号 ...