Security News
UK Officials Consider Banning Ransomware Payments from Public Entities
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.
A simple, eventually consistent, 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 has no dependencies.
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.
Diode batches event subscriptions using requestAnimationFrame
. In
short, this means that sequential publications will be clumped:
Diode.subscribe(callback)
for (var i = 1000; i > 0; i--) {
Diode.publish()
}
// callback will only fire once
This means that state changes which would activate Diode.publish
multiple times, such as an action which affects multiple data stores,
will trigger once. This should improve efficiency and simplify actions
such as merging records.
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 604 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
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.
Security News
Snyk's use of malicious npm packages for research raises ethical concerns, highlighting risks in public deployment, data exfiltration, and unauthorized testing.
Research
Security News
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.