脚本宝典收集整理的这篇文章主要介绍了ReactHooks批量更新state及获取路由参数示例解析,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
在【Hooks】中如果单独的进行状态的更新可能会导致页面的多次渲染:
import { usestate } From 'react'; import { unstable_batchedUpdates } from 'react-dom';//批量更新状态时使用 import React from 'react'; const Example = () => { const [count, setCount] = useState(0); const [count1, setCount1] = useState(0); const [isClick, setCount2] = useState(0); setTimeout(function () { setCount(1) setCount1(1) setCount2(1) }, 1000); console.LOG('渲染了') return ( <span>请查看控制台输出!</span> ); } export default Example;
渲染了
渲染了
渲染了
渲染了
渲染了
所以需要使用批量更新来避免这个问题!
class
中是通过setState
来实现的
hooks
则可以通过unstable_batchedUpdates
来实现
import { useState } from 'react'; import { unstable_batchedUpdates } from 'react-dom';//批量更新状态时使用 import React from 'react'; const Example = () => { const [count, setCount] = useState(0); const [count1, setCount1] = useState(0); const [isClick, setCount2] = useState(0); setTimeout(function () { unstable_batchedUpdates(() => { setCount(1) setCount1(1) setCount2(1) }) // 这里就是处理的事件 }, 1000); console.log('渲染了') return ( <span>请查看控制台输出!</span> ); } export default Example;
控制台输出
渲染了
渲染了
有时候我们会在route
中指定参数,这样就可以直接通过URL进行组件的传参了
在Class中通过this.PRops.match.params
可以获取url的参数
如果是Hooks的话,可以这样获取:
import { useState } from 'react'; import React from 'react'; const Example = ({ match }) => { const [name] = useState(match.params.name); return ( <p>名称为:<span style={{ fontWeight: 600 }}>{name}</span></p> ); } export default Example;
match.params
就是路由中的参数
以上就是ReactHooks批量更新state及获取路由参数示例解析的详细内容,更多关于ReactHooks批量更新state及获取路由参数的资料请关注脚本宝典其它相关文章!
以上是脚本宝典为你收集整理的ReactHooks批量更新state及获取路由参数示例解析全部内容,希望文章能够帮你解决ReactHooks批量更新state及获取路由参数示例解析所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。