proxy-based Twister client written with react-js
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
1.1 KiB

10 years ago
react-mixin-safe-state-change
=============================
[![npm version](https://img.shields.io/npm/v/react-mixin-safe-state-change.svg)](http://www.npmjs.com/package/react-mixin-safe-state-change)
[![npm downloads](https://img.shields.io/npm/dm/react-mixin-safe-state-change.svg)](http://www.npmjs.com/package/react-mixin-safe-state-change)
React mixin which sets or replaces state only when it is safe to do so.
## Motivation
When processing the response of an asynchronous request, it might not be safe to call setState or replaceState, because the component might no longer be mounted.
## Install
`npm install react-mixin-safe-state-change`
## Usage
```javascript
var safeStateChangeMixin = require('react-mixin-safe-state-change');
React.createClass({
mixins: [safeStateChangeMixin]
someCallback: function(newValue) {
if (!this.setStateSafe({value: newValue})) {
console.warn('Could not set the state.');
}
// or
if (!this.replaceStateSafe({value: newValue})) {
console.warn('Could not replace the state.');
}
}
});
```