Задать вопрос
@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 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
maxfarseer
@maxfarseer
https://maxpfrontend.ru, обучаю реакту и компании
Не знаю зачем, но на вопрос "Как отписаться от redux store, когда демонтируется?" ответить легко - использовать componentWillUnmount

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

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

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
Wanted. Москва
от 250 000 до 400 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
22 янв. 2025, в 19:19
2300 руб./в час
22 янв. 2025, в 18:00
15000 руб./за проект
22 янв. 2025, в 17:57
2000 руб./в час