реагировать родной: события не работают между компонентами

Я пытаюсь использовать события для связи между дочерним элементом и другим компонентом, который не является его родительским.

Я следовал руководству в документации, которое предлагает использовать 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] });
    }
  }

какие-либо предложения?

0 ответов

Другие вопросы по тегам