React学习(四)
目录:
1.react-基础-useEffect
2.react-基础-useContext1
3.react-基础-useContext2
1.react-基础-useEffect
线下只传一个箭头函数
组件函数P6被调用这个函数就会执行
当state改变了或者props改变了,p6组件就会重新执行
多一个参数加一个空数组
修改props导致p6会重新执行,副作用功能就不会再次执行了
第三个参数:
修改id
依赖项改变,副作用也会执行
修改age
依赖项没有改变,副作用函数没执行
可以使用userEffect去修改一下P5前面的控制代码:
改一下id
此时请求没有重新发送,数据也没改变,也不合理,应该显示2号元素的内容,所以需要使用useEffect的第三种用法
2.react-基础-useContext1
3.react-基础-useContext2
实现年龄隐藏可以通过P7到P71到P72一层一层传递一个布尔值实现
还可以通过useContext实现
useContext上下文
useContext不能修改上下文对象的值,想要修改需要借助一个标签
当P7调用这个标签,修改上下文的值,里面标签的内容会重新执行,里面的组件函数会重新调用,页面会重新渲染
点击隐藏
点击显示
初始值默认是false,按钮显示隐藏,当点击隐藏会调用函数,调用setHidden值取反,调用set打头的方法组件会重新执行P7,hidden变成true了,按钮的文字变成了显示
修改上下文的标签第一次进来是false,第二次进来变成true了 ,它的值一变,里面的子标签都会重新渲染,P71渲染,P72渲染
react的特点是自上而下的改动,最外层的组件变了,下一层也会跟着改变