uidotdev / usehooks

A collection of modern, server-safe React hooks – from the ui.dev team

Home Page:https://usehooks.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

default value for usePrevious hook

ImanMahmoudinasab opened this issue · comments

The current behavior of the usePrevious hook is to always return null as the previous value. But in some cases, it makes sense to have a different default value. For example for a table's data we don't want to pass null as the value instead we want to pass an empty array:

function MyTable({data, loading}){

const previousData = usePrevious(data);

 // This throws an exception when the component gets rendered with loading true:
const table = useReactTable({data: loading ? previousData: data});

return (
     // ...
);
}

Instead, I would like to be able to set an initial value for the hook:

function MyTable({data, loading}){

const previousData = usePrevious(data, []);

 // No error this time since previousData is [] at first render when loading is true:
const table = useReactTable({data: loading ? previousData: data});

return (
     // ...
);
}