{error && ‘Error!’}
{loading && ‘Loading…’}
{todos.map(todo => (
{todo.title}
)}
</>
);
};
2. useMedia
您是否需要一种跟踪CSS媒体查询的方法?useMedia提供一个简单的方法解决这个问题。这是一个能够准确跟踪的感官钩子。在任何应用程序或网站上,媒体查询以及响应能力都非常重要。
它以TypeScript编写。该软件包具有定义明确的文档,它的用法以及测试方法也解释的非常好。
用法示例:
import useMedia from ‘use-media’;
const Example = () => {
const isWide = useMedia({minWidth: ‘1000px’});
return (
Screen is wide: {isWide ? “WideScreen” : “NarrowScreen”}
);
};
3.Constate
Constate可将本地状态提升到React Context。这意味着可以以最小的努力轻松地将任何组件的任何状态提升到上下文。如果您想在多个位置使用相同的状态,或者为多个组件提供相同的状态,这很有用。该名称来自合并Context和state。它是基于typescript实现的,而且库非常的小。虽然该文档不是很详细,但是看例子,我们就可以轻易地学会使用。
用法示例:
import React, { useState } from “react”;
import constate from “constate”;
// custom hook
function useCounter() {
const [count, setCount] = useState(0);
const increment = () => setCount(prevCount => prevCount + 1);
return { count, increment };
}
// hook passed in constate
const [CounterProvider, useCounterContext] = constate(useCounter);
function Button() {
// use the context
const { increment } = useCounterContext();
return +;
}
function Count() {
// use the context
const { count } = useCounterContext();
return {count};
}
function App() {
// wrap the component with provider
return (
);
4. Redux hooks
Redux是许多(即使不是全部)React开发人员的知名工具。在整个应用程序中,它用作全局状态管理器。在React的最初版本发布几个月后,它就随hooks而出现了。它通过利用现有的connect()方法 提供了 一种 替代HOC(高阶组件)模式的方法。
提供的最著名的挂钩是:
-
useSelector
-
useDispatch
-
useStore
该文档非常好,虽然有点复杂,但是它将为您提供开始使用它们所需的任何信息。
用法示例:
import {useSelector, useDispatch} from “react-redux”;
import * as actions from “./actions”;
const Example = () => {
const dispatch = useDispatch()
const counter = useSelector(state => state.counter)
return (
{counter.value}
<button onClick={() => dispatch(actions.incrementCounter)}>
Counter +1
);
};
5. React hook form
React hook form
是一个表单钩子库,类似于Formik和Redux表单,但是更好!凭借其更简单的语法,速度,更少的重新渲染数和更好的可维护性,它开始爬上GitHub的阶梯。它的体积很小,并且是考虑到性能而构建起来的。该库甚至提供了非常棒的表单生成器!它是React钩子库中GitHub star数量最多的库之一(14.8k)。
用法示例:
import React from “react”;
import { useForm } from “react-hook-form”;
function App() {
const { register, handleSubmit, errors } = useForm();
const onSubmit = (data) => {
// logs {firstName:“exampleFirstName”, lastName:“exampleLastName”}
console.log(data);
};
return (
{errors.lastName && “Last name is a required field.”}
{errors.age && “Please enter number for age.”}
);
}
6. useDebounce
useDebounce表示一个用于防抖的小钩子。它用于将功能的执行推迟到以后。常用于获取数据的输入框和表格中。
用法示例:
import React, { useState } from “react”;
import { useDebounce } from “use-debounce”;
export default function Input() {
const [text, setText] = useState(“Hello”);
const [value] = useDebounce(text, 1000);
return (
<input
defaultValue={“Hello”}
onChange={(e) => {
setText(e.target.value);
}}
/>
Value: {text}
Debounced value: {value}
);
}
7. useLocalStorage
useLocalStorage是一个小钩子,与上面的钩子一样。它对于在localStorage中提取和设置数据非常有用。使用它之后操作变得很容易。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
总结
根据路线图上的重点去进行有针对性的学习,在学习过程中,学会写笔记,做总结。
CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
这里分享一些前端学习笔记:
-
html5 / css3 学习笔记
-
JavaScript 学习笔记
-
Vue 学习笔记
CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】]( )**
这里分享一些前端学习笔记:
-
html5 / css3 学习笔记
-
JavaScript 学习笔记
-
Vue 学习笔记