Security News
New Proposed CISA Mandate Would Require Critical Infrastructure to Report Ransom Payments Within 24 Hours
CISA has proposed a set of new rules that would require critical infrastructure to report cyber incidents and ransom payments.
use-history-state
Advanced tools
`use-history-state` is replacement for `useState` that stores the state within the history state.
Weekly downloads
Readme
useHistoryState
useHistoryState
is replacement for useState
that stores the state within the history state.
The difference between useHistoryState
and useState
is that every changes in your state will be stored within the navigator history. And so, if you go back in your history, you will change the inner value of the state.
import React, { Fragment } from "react";
import useHistoryState from "use-history-state";
const Component = () => {
// const [state, setState] = useHistoryState(initialValue, keyInHistoryState);
const [name, setName] = useHistoryState("", "name");
const names = ["John", "Susan", "Hugo", "Jade", "Mike", "Aurora"];
return (
<Fragment>
<h1>{name}</h1>
{names.map(n => (
<button key={n} type="button" onClick={() => setName(n)} />
))}
</Fragment>
);
};
useHistoryState
function useHistoryState<State>(initialValue: State | () => State, key: string) {}
If there is already the specified key within the history's state, the initial value will be set to this value. Otherwise, it will you initialValue
set as argument.
setState
function setState<State>(newState: State | State => void, replace?: boolean) {}
When you use the setState function, you can specify a second argument: replace
.
replace
is set to true
, under the hood setState will use history.replaceState
and so, if you want to go back to the previous page, you won't reach the replaced states.replace
is set to false
, under the hood setState will use history.pushState
, which means that every changes will be available in you history.By default, replace
is set to false
npm i --save use-history-state
import useHistoryState from "use-history-state"; // esm
const useHistoryState = require("use-history-state"); // cjs
yarn add use-history-state
import useHistoryState from "use-history-state"; // esm
const useHistoryState = require("use-history-state"); // cjs
<script src="https://unpkg.com/use-history-state@x.y.z/dist/useHistoryState.umd.js">
const useHistoryState = window["use-history-state"];
FAQs
`use-history-state` is replacement for `useState` that stores the state within the history state.
The npm package use-history-state receives a total of 42 weekly downloads. As such, use-history-state popularity was classified as not popular.
We found that use-history-state demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISA has proposed a set of new rules that would require critical infrastructure to report cyber incidents and ransom payments.
Security News
Redis is no longer OSS, breaking its explicit commitment to remain under the BSD 3-Clause License forever. This has angered contributors who are now working to fork the software.
Product
Socket AI now enables 'AI detected potential malware' alerts by default, ensuring users benefit from AI-powered state-of-the-art malware detection without needing to opt-in.