реагировать родной: события не работают между компонентами
Я пытаюсь использовать события для связи между дочерним элементом и другим компонентом, который не является его родительским.
Я следовал руководству в документации, которое предлагает использовать eventemitter3. он работает, но только если я испускаю и слушаю событие в одном компоненте. событие не прослушивается другим компонентом.
код у ребенка:
const EventEmitter = require("eventemitter3");
var EE = new EventEmitter();
export default class PaginaPrincipale extends Component {
constructor() {
super();
EE.addListener("evento", this._metodoTest.bind(this));
this.state {some properties}
}
_apriPopup(valore) {
EE.emit("evento", valore);
}
_metodoTest(variabile) {
if (variabile == 1) {
this.setState({ testo: "cambiato" });
}
}
render(){
return(
<Prop that use onclick to emit event through _apripopup()/>
)
}
}
код в другом компоненте:
const EventEmitter = require("eventemitter3");
var EE = new EventEmitter();
export default class ViroSample extends Component {
constructor() {
super();
EE.addListener("evento", this._metodoTest.bind(this));
this.state = {some props}
}
_metodoTest(valore) {
if (valore != null) {
this.setState({ PopupInfo: ListaScenari[valore] });
}
}
какие-либо предложения?