Так что технически у меня есть 2 компонента, я отправляю событие от 1-го, я хочу обнаружить это изменение во 2-м.
Я сделал все, как в документации Redux о подписке на Store: https://redux.js.org/api/store#subscribe. К сожалению, у меня это не работает.
Это мой первый проект реагирования.
(vue / x лучше:])
import React, {Component} from 'react';
import reducers from '../../reducers'
import { Dropdown } from 'semantic-ui-react'
import {translate} from "../../actions";
import createStore from "../../createStore";
const store = createStore(reducers)
class Component1 extends Component {
componentDidMount() {
store.subscribe(() => console.log(1));
}
updateTexts(lang) {
store.dispatch(translate(lang));
}
render() {
this.dropdown = <Dropdown
onChange={this.updateTexts}
/>
return (
<div className={"lang-switcher"}>
<div className={"select-lang"}>
{this.dropdown}
</div>
</div>
);
}
}
export default Component1
import React, {Component} from 'react';
import axios from 'axios';
import {Animate} from 'react-animate-mount';
import createStore from "../../createStore";
import reducers from "../../reducers";
const store = createStore(reducers);
export default class Component2 extends Component {
componentDidMount() {
store.subscribe(console.log(2));
}
render() {
return (
<div className="box">
{Something}
</div>
);
}
}
Я хочу, чтобы Component2 обнаруживал изменение состояния, выполненное Component1.
Редуктор работает правильно, обновляет состояние после отправки.