@nemoisfree

Можно ли декорировать redux connect или как отписаться от redux store?

Передаю props (storeName) в компонент

<MyComponent reducerName="city" />

в компоненте я бы хотел подписаться на store с тем именем, который я передал т.е. (this.props.reducerName)

для примера как бы я хотел, чтобы это выглядело

export default connect(state => ({
    some: state[this.props.reducerName]
}), { })(MyComponent);


Можно ли как-то декорировать redux connect? Передав в него как-то this.props.reducerName

Я пробовал пойти другим путем и использовал store.subscribe

componentDidMount() {
    store.subscribe(() => {
        this.setState({some: store.getState([this.props.reducerName]});
    });
}


Но когда я перехожу на другой роут, то вижу ошибку

Warning: setState(...): Can only update a mounted or mounting component. This usually means you called setState() on an unmounted component. This is a no-op.

Как отписаться от redux store, когда демонтируется?
  • Вопрос задан
  • 245 просмотров
Пригласить эксперта
Ответы на вопрос 1
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
Не знаю зачем, но на вопрос "Как отписаться от redux store, когда демонтируется?" ответить легко - использовать componentWillUnmount

p.s. стоит прочитать полностью - the component lifecycle
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы