
Security News
Browserslist-rs Gets Major Refactor, Cutting Binary Size by Over 1MB
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
react-localstorage
Advanced tools
A mixin for automatically synchronizing a component's state with localStorage.
Simply synchronize a component's state with localStorage
, when available.
A simple component:
var React = require('react');
var LocalStorageMixin = require('react-localstorage');
var TestComponent = module.exports = React.createClass({
displayName: 'TestComponent',
// This is all you need to do
mixins: [LocalStorageMixin],
getInitialState: function() {
return {counter: 0};
},
onClick: function() {
this.setState({counter: this.state.counter + 1});
},
render: function() {
return (
<span onClick={this.onClick}>{this.state.counter}</span>
);
}
});
The key that state is serialized to under localStorage
is chosen with the following code:
function getLocalStorageKey(component) {
if (component.getLocalStorageKey) return component.getLocalStorageKey();
if (component.props.localStorageKey === false) return false;
if (typeof component.props.localStorageKey === 'function') return component.props.localStorageKey.call(component);
return component.props.localStorageKey || getDisplayName(component) || 'react-localstorage';
}
If you are synchronizing multiple components with the same displayName
to localStorage,
you must set a unique localStorageKey
prop on the component. You may set a function as well.
Alternatively, you may define the method getLocalStorageKey
on the component's prototype.
This gives you the freedom to choose keys depending on the component's props or state.
To disable usage of localStorage entirely, pass false
or a function that evaluates to false
.
If you only want to save parts of state in localStorage, set stateFilterKeys
to an array of strings corresponding to the state keys you want to save.
getDefaultProps: function() {
return {
stateFilterKeys: ['one', 'two']
};
}
You can do this by setting a stateFilterKeys
prop or define the method getStateFilterKeys
on the component's prototype.
getStateFilterKeys: function() {
return ['one', 'two'];
}
LocalStorageMixin
will call setState
on componentDidMount
, so it will not break server rendering
checksums. This is new as of 0.2.0
.
We use karma
as the test runner. To run the test, simply npm install
all the dependencies and run:
./node_modules/karma/bin/karma start
FAQs
A mixin for automatically synchronizing a component's state with localStorage.
The npm package react-localstorage receives a total of 132 weekly downloads. As such, react-localstorage popularity was classified as not popular.
We found that react-localstorage 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
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
Research
Security News
Eight new malicious Firefox extensions impersonate games, steal OAuth tokens, hijack sessions, and exploit browser permissions to spy on users.
Security News
The official Go SDK for the Model Context Protocol is in development, with a stable, production-ready release expected by August 2025.