Security News
CISA Brings KEV Data to GitHub
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
A simple state propagation tool for React. It takes advantage of components that are pure to significantly simplify event subscription when propagating changes in the data layer.
Diode is an event emitter with one event. By including the Stateful
mixin, an expected getState
method is called every time the Diode
publishes a change.
It is also quite small (see API). We found ourselves building something similar to it on several projects and decided it was better to keep it in one place.
First include the Stateful
mixin into a component, and provide a
getState
method:
var React = require('react/addons');
var Stateful = require('diode/stateful');
var MyStore = require('./myStore');
var Pure = React.addons.PureRenderMixin;
var Component = React.createClass({
mixins: [ Stateful, Pure ],
getState: function() {
return {
items: MyStore.all()
}
},
render: function() {
// render something purely
}
})
Then in your stores, execute 'publish' on the Diode when you want to propagate a change:
var Diode = require('diode')
var _data = []
MyStore.add = function(record) {
_data = _data.concat(record)
Diode.publish()
}
And that's it!
unsubscribe
: Remove a callback. If only using the Stateful
mixin
this probably never needs to be calledsubscribe
: Add a callback. If only using the Stateful
mixin
this probably never needs to be calledpublish
: Propagate a change. Call this whenever a data store of
some kind changes (leaning on smart shouldComponentUpdate
methods
within your React component tree)getState
: This method is called by Stateful
whenever the Diode
executes publish
to update the state of a component. It is required.FAQs
A simple event emitter.
The npm package diode receives a total of 507 weekly downloads. As such, diode popularity was classified as not popular.
We found that diode demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers 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's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
Security News
Opengrep forks Semgrep to preserve open source SAST in response to controversial licensing changes.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.