fix useRerender (#3343)
This commit is contained in:
@@ -2,7 +2,7 @@ import { useState } from "react";
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* ```tsx
|
* ```tsx
|
||||||
* const { bump, key } = useRerender({ delay: 40,prefix: "my-prefix" });
|
* const { bump, key } = useRerender({ delay: 40, prefix: "my-prefix" });
|
||||||
*
|
*
|
||||||
* <div key={key}>...</div>
|
* <div key={key}>...</div>
|
||||||
*
|
*
|
||||||
@@ -17,17 +17,17 @@ const useRerender = ({
|
|||||||
delay?: number;
|
delay?: number;
|
||||||
prefix: string;
|
prefix: string;
|
||||||
}) => {
|
}) => {
|
||||||
const [forceRenderKey, setForceRenderKey] = useState(`${prefix}-0`);
|
const [forceRenderKey, setForceRenderKey] = useState(0);
|
||||||
|
|
||||||
const bump = () => {
|
const bump = () => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
setForceRenderKey((prev) => `${prefix}-${prev + 1}`);
|
setForceRenderKey((prev) => prev + 1);
|
||||||
}, delay);
|
}, delay);
|
||||||
};
|
};
|
||||||
|
|
||||||
return {
|
return {
|
||||||
bump,
|
bump,
|
||||||
key: forceRenderKey,
|
key: `${prefix}-${forceRenderKey}`,
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user