安装 shadcn/ui 组件
bunx --bun shadcn@latest add badge
CSV 上传逻辑:
- 选择上传后,默认的表头均为 Skip
- 可以选择某个表头选择
- Progress Continue (1/3)
Question: React 在什么时候使用 useRef?用处是什么?
1. 保存不需要触发重新渲染的值
当你需要保存一个值,但该值的变化不应该导致组件重新渲染时,使用 useRef
非常合适。
const count = useRef(0);
// 更新count.current不会触发重新渲染
count.current = count.current + 1;
2. 访问 DOM 元素
useRef
最常见的用途是获取对DOM元素的直接引用。
const inputRef = useRef(null);
// 之后可以直接访问DOM元素
const focusInput = () => {
inputRef.current.focus();
};
return <input ref={inputRef} />;
3. 保存先前的值
在函数组件的渲染之间保存先前的状态值。
function Component({ value }) {
const prevValueRef = useRef();
useEffect(() => {
prevValueRef.current = value;
}, [value]);
const prevValue = prevValueRef.current;
// 现在可以比较prevValue和value
}
4. 避免闭包陷阱
在异步操作或回调函数中访问最新的状态值。
const [count, setCount] = useState(0);
const countRef = useRef(count);
useEffect(() => {
countRef.current = count;
}, [count]);
const handleClick = () => {
setTimeout(() => {
console.log(countRef.current); // 总是获取最新的count值
}, 3000);
};
根据当前 schema,生成数据库
npm run db:generate
将变更应用到线上数据库中
ep-solitary-dust-a1anc9bc-pooler.ap-southeast-1.aws.neon.tech