父组件向子组件传值(属性)
通过属性的方式向子组件传值:<TodoItem value={ 值 } />,子组件通过this.props.值名称接收使用
子组件向父组件传值(调用父组件的方法)
父组件把自身的方法通过属性传递给子组件(需要在父组件中先把这个方法的this强制定为父组件,子组件调用时,才能改变父组件),子组件接收后通过调用父组件的方法,来实现子组件和父组件的通信
props 父组件通过属性传值给子组件时,子组件通过props接收
state 指组件中的数据
render 函数:用来渲染组件中的内容。
三者关系:
render 函数什么时候执行?
1. 组件第一次渲染的时候,会被默认执行一次。
2. 当state数据发生变更的时候,render函数就会被重新执行一次。
3. 当props数据发生变化的时候,render函数就会被重新执行一次。
React中操作DOM,通过ref属性实现
ref的值一般是一个函数,会自动获取DOM节点,然后传到函数内部 并声明一个组件变量存放
ref写在html标签上,获得的是dom节点;
ref写在组件标签上,获取的是组件的js实例;
(1)ref的值可以是一个箭头函数,也可以是普通函数形式,但是需要提前保存this,否则this指向不对,我们需要的this指向当前类。例如http://img.mukewang.com/climg/5ed3245509555dce05870262.jpg
(2)函数的参数是自定义的
(3)函数的参数与标签名、组件名基本一致,保持一致是一种习惯问题,便于区分绑定在哪个内容上了。