首页 / REACT / React新特性一览
React新特性一览
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了React新特性一览,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2128字,纯文字阅读大概需要4分钟。
内容图文
生命周期
1. componentWillMount和componentWillReceiveProps替换为static getDerivedStateFromProps。getDerivedStateFromProps 会在调用 render 方法之前调用,并且在初始挂载及后续更新时都会被调用。它应返回一个对象来更新 state,如果返回 null 则不更新任何内容
2. 新增错误处理生命周期 static getDerivedStateFromError和componentDidCatch
getDerivedStateFromError生命周期会在后代组件抛出错误后被调用。 它将抛出的错误作为参数,并返回一个值以更新 state,getDerivedStateFromError() 会在渲染阶段调用,因此不允许出现副作用。 如遇此类情况,请改用 componentDidCatch()。
HOOK
hook特性可以它让你在不编写 class 的情况下使用 state 以及其他的 React 特性。它是一个特殊的函数
1. hook之useState
通常情况下无状态组件是没有办法使用组件状态的,那么现在通过useState即可实现在无状态组件中使用组件状态(在这里无状态组件叫做函数组件好一点)。
在上面的例子中`const [count, setCount] = useState(0);`
我们调用useState函数的时候,定义了一个变量叫做count(名字随意),它的初始值就是在setCount中传入的参数而setCount(名字随意)就是一个改变count的函数,这类似于状态组件当中在state中定义count,而setCount的作用类似于调用this.setState()来改变count。 这里需要注意的是调用useState的时候需要成对的获取一个变量和一个可以修改变量的函数(在这里即是count和setCount)
2. hook之useEffect
该hook可以使你在无状态组件(也叫函数组件)中执行副作用(例如请求数据或者清除定时器等)操作,我们可以把该hook看做是componentDidMount/componentDidUpdate/componentWillUnmount三个生命周期函数的组合,即在该三个生命周期函数任意一个触发的时候,useEffect也会被触发
在上面的例子中,当组件挂载完成后即useEffect会被触发,当我们调用setCount函数修改count的值之后useEffect会被触发,当组件卸载时也会触发useEffect
在这里我们可以把常见的副作用分为两类:需要清除的(例如定时器、事件监听器等)和不需要清除的(例如ajax请求等),这里我们主要讲一下需要清除的副作用怎么来操作:很简单,你只需要让useEffect函数返回一个函数即可,那么该函数就会在组件卸载的时候执行,你只需要在该函数里面执行清除操作(例如clearInterval(timer))就Ok了
3. hook规则:
只在对顶层使用hook,不要在循环,条件或者嵌套函数中调用hook,遵循这条规则可以确保hook在每次渲染中都按照同样的顺序被调用,这可以是React在多次的useState和useEffect调用之间保持hook状态的正确。
内容总结
以上是互联网集市为您收集整理的React新特性一览全部内容,希望文章能够帮你解决React新特性一览所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。