网站加载很慢,优化20条措施,天津做网站优化价格,广告网站怎么设计制作react框架react框架包括包括两大类#xff1a;类组件函数组件。类组件构成#xff1a;constructor自定义方法。调用方法通过this.方法名()。constructor(superstate)构造器里面必有super字段。render()方法里面写页面布局。函数组件构成#xff1a;各种钩子函数return()方法…react框架react框架包括包括两大类类组件函数组件。类组件构成constructor自定义方法。调用方法通过this.方法名()。constructor(superstate)构造器里面必有super字段。render()方法里面写页面布局。函数组件构成各种钩子函数return()方法里面写页面布局。钩子函数是use开头的系列。函数组件常用的钩子函数useState、useEffect、useRef、useCallback一、useState定义useState是react自带的一个hook函数它的作用是用来声明状态变量。详细解释在项目中我们通过react-redux 或者dva数据存储框架进行全局声明并保存state中的数据。可是如果我们想在当前操作的index.tsx或者index.jsx中使用state,可以通过useState()钩子函数进行声明某一个当前页面的state数据状态。用法const [ count , setCount ] useState(0);useState(params) 设置 第一个参数的初始值
count 是第一个参数解构出的第一个参数
setCount 是第二个参数 是一个函数 用来设置count
二、useEffect定义什么是副作用 副作用是相对于主作用来说的一个函数除了主作用其他的作用就是副作用。对于 React 组件来说主作用就是根据数据state/props渲染 UI除此之外都是副作用比如手动修改 DOM常见的副作用数据请求 ajax发送手动修改domlocalstorage操作用法useEffect函数的作用就是为react函数组件提供副作用处理的useEffect(() {},[])接受2个参数第一个是函数第二个是数组
如果第二个参数数组为空 它就是componentDidMount 只有第一次渲染
如果二个参数数组 里面的值 设置的 值改变 它就是componentDidUpdate 只要值改变了 他就渲染
useEffect 内部 最外层 支持return () 相当于 componentWillUnmount 卸载 来开当前组件的时候触发 并且 每次更新都触发。相同点 useState 和 useEffect 支持写多个实际使用在项目中结合dva在页面组件中发起网络请求。useEffect(() {函数},[])
{dispatch({参数})}
{type:model模块名/某一个方法, //namespace如果在model外调用需要添加。payload:{} //写法state中定义的属性属性值。需要传递的信息。
}三、useRef定义使用useRef获取Dom元素可以再useEffect中立马使用。useEffect在页面组件中会渲染两次根据react框架的设计者的设定无法在初次渲染中拿到DOM(真实的Dom节点)不能通过document.getElementByID(#id名)这种方式获取真实的dom节点。ref的拿取callbackRef通过callbackRef在组件挂载后操作该dom。会在真实Dom生成时执行。使用callbackRef使用它用回调函数的方式获取ref进而保存使用。使用步骤const myRef useRef()
myRef.current 赋值
render/return (...)
div ref{myRef}
/div四、useCallback使用useCallback来包装函数不是为了性能优化。而是为了不生成新的回调函数让diff对比时发现差异不会 再次执行回调。react框架有虚拟dom的概念并且是它最先提出来的