我们是使用react的时候,其实很多情况都不需要使用state去存储值,如果不涉及页面渲染的值,我们往往可以使用 this.xxx的方式:这样可以提高组件的性能,避免不必要的 re_render 带来的消耗 但是如果不稍加注意,可能就会给自己带来很多隐患,甚至bug: 请看如下代码:用非state值向子组件传递一个page属性 export default class Test extends PureComponent { constructor(props) { super(props);…
http://www.cnblogs.com/phonefans/archive/2008/09/04/1283739.html 在Js中得到元素的子元素集合注意事项 费话少说,直接看例子: 1 <ul> 2  <li>this's one</li> 3  <li>this's two</li> 4  <li>this's three</li> 5  <li>this's four</li> 6 &…
问题:fixed元素被另一个fixed元素包含的时候在chrome下fixed子元素的定位会受到父元素的影响. demo(http://jsbin.com/qumah/1): <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>JS Bin</title> <style> .fixed { position: fixed; left:0…
问题:fixed元素被另一个fixed元素包含的时候在chrome下fixed子元素的定位会受到父元素的影响. 解释:层叠关系是受层叠上下文影响的.文档中的层叠上下文由满足以下任意一个条件的元素形成: 根元素 (HTML), 绝对(absolute)定位或相对(relative)定位且z-index值不为"auto", 元素的opacity属性值小于1. (参考 the specification for opacity), 在mobile WebKit 和 Chrome 22+内核的…
生命周期&受控和非受控组件&Dom 元素&Diffing 算法 生命周期 首先回忆一下 vue 中的生命周期: vue 对外提供了生命周期的钩子函数,允许我们在 vue 的各个阶段插入一些我们的逻辑,比如:created.mounted.beforeDestroy等. react 中的生命周期是否也类似?请接着看: 每个组件都包含 "生命周期方法",你可以重写这些方法,以便于在运行过程中特定的阶段执行这些方法 -- react 官网-组件的生命周期 请看一张 r…
React中父组件与子组件之间的数据传递的的实现大家都可以轻易做到,但对比很多人的实现方法,总是会有或多或少的差异.在一个团队中,这种实现的差异体现了每个人各自的理解的不同,但是反过来思考,一个团队用了同样的UI,同样的框架,实现方式确实有差异,这其实就是工程化的问题. 回到React中父组件与子组件之间的数据传递的问题上来. 父组件与子组件之间的数据传递的实现方式大致可以分为2种情况: 1.子组件用flux环传递数据,父组件监听子组件的Store来获得数据流. 我个人认为这种方式的优点的是 数…
this.state.obj = { name: "小明" } <Zizujian obj={this.state.obj} /> // 子组件这样修改父元素的值 // 我们知道js的对象的类型的属于引用类型 // 所以,我们这个把一个对象传到子组件上,由于是一个对象,所以改变对象内部的值会映射到父对象上!!!!!之前在angular里传递对象就是这样传递的,都没有关注细节,js已经帮你做好了, // 但是React官方文档规定,不允许修改props的值,,虽然可以替换,但…
// 创建组件var NewDom = React.createClass({ // 类名一定要大写开头 render: function () { return ( <ol> { React.Children.map(this.props.children, function (child) { // 获得元素的子元素 console.info(child); return (<li>{child}</li>); }) } </ol> ) } }); Re…
<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <style> #box{ background:red;} #div{width:200px;height:200px;background:blue;margin:100px;} #footer{height:50px;background:yellow…
前述:jquery中: 当一个元素的点击事件被触发时,会自动将该事件向父级元素逐级专递. 但是实际场景当中,我们可能会遇到需要在父级元素中定义点击事件,来触发特定子元素的点击事件,我就遇到了这么一个问题.  但是这么做的后果,在jquery1.8.2版本及以后所有版本(截止目前最新版本为3.3),会出现事件来回传递的问题,最终导致无限循环. 在jquery1.2.6版本中,子元素的点击传递给父元素时,再被父元素传递回来后,事件就不会再向外扩散了,也就是低级版本jquery只会向外扩散一次,但是在…