rerenderer
Version:
For React: Easy handling of object editing and state update re-renders
16 lines (15 loc) • 638 B
JavaScript
'use client';
import { jsx as _jsx } from "react/jsx-runtime";
import { createContext, useContext, useState, useCallback } from 'react';
var RerenderContext = createContext({
rerender: function () { },
});
export function RerenderProvider(_a) {
var children = _a.children;
var _b = useState(0), setRerenderTrigger = _b[1];
var rerender = useCallback(function () {
setRerenderTrigger(function (prev) { return prev + 1; });
}, []);
return (_jsx(RerenderContext.Provider, { value: { rerender: rerender }, children: children }));
}
export var useRerender = function () { return useContext(RerenderContext); };