Передача дополнительных аргументов в функцию onMessage в компоненте React - PullRequest
1 голос
/ 12 июля 2019

У меня есть EventSource, который использует onMessage функцию loadGames в componentDidMount моего React компонента, поскольку в результате получается массив объектов, для которого я хочу передать аргумент, чтобы найти конкретный объект изэтот массив, но я не могу, потому что когда я определяю onMessage, я не вызываю функцию loadGames с каким-либо аргументом, даже если у него есть event аргумент, скрытый внутри

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

    //on my component file
   url = 'https://wheel-of-fortune-server.herokuapp.com'
   source = new EventSource(`${this.url}/stream`)

   componentDidMount() {
     this.source.onmessage=this.props.loadGames
     //if i write this.props.loadGames(event) i get a compilation error
   }

   //on my action file
  export function loadGames (event){
     //what i want to do is loadGames (event,gameId)
   const {data}=event
   const games=JSON.parse(data)
     //so i can do const game=games.find(game=>game.id===gameId)
   return {
      type: LOAD_ALL_GAMES,
      payload: games
   }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...