React+Redux обновление стора

298
08 декабря 2017, 05:49

Как отследить изменение стора в Redux? В интеренете нашел что используется метод componentWillReceiveProps. Я пытаюсь в нем вызвать метод который подгружает список данных, но при этом стор опять обновляется, и получается что он зацикливатеся

    componentWillReceiveProps(nextProps) {
    console.log('props', this.props.active)
    console.log('nextProps', nextProps.active)
    this.props.getCustomersListAction({ type: this.props.type, project: this.props.project, active: nextProps.active })
}

в данном случае меня интересует только параметр active, как понять что он поменялся?

Answer 1

Используйте react-redux, библиотека предоставляет функцию connect, которая позволяет связать компонент с redux store.

class MyComponent extends Component {
    render() { 
        const {active} = this.props;
        return ...
    }
}
export default connect(
    (state) => ({active: state.active})
)(MyComponent)

connect принимает 2 функции, первая нужна для передачи стейта в компонент из стораджа, вторая для передачи экшен криэйторов.
Компонент будет обновляться каждый раз когда данные переданные через connect будут менятся

READ ALSO
React router layout

React router layout

У меня есть роутинг через react-router-redux:

251
Функциональный график в html Js как?

Функциональный график в html Js как?

Наверняка есть готовые библиотеки для построения графиков, например google chart Но мне не хватает функциональности или я не знаю как это сделатьВо...

195