Comments 2
Здесь immer подход поддерживается как частный случай github.com/hydux/hydux-mutator
0
Шикарная библиотека! Можно в 5 строчек расширить стандартный реактовский компонент и спокойно мутировать стейт не боясь побочных эффектов.
import React, { Component } from "react";
import produce from "immer";
class ImmerComponent extends Component {
editState(fn) {
this.setState(produce(fn));
}
}
class List extends ImmerComponent {
state = [];
addItem = () => {
this.editState(state => {
state.push(state.length);
});
};
render() {
const list = this.state.map(item => {
<li key={item}>
{item}
</li>;
});
return (
<div>
<ul>
{list}
</ul>
<button onClick={this.addItem}>Add</button>
</div>
);
}
}
0
Sign up to leave a comment.
Immer: новый подход к иммутабельности в JavaScript