Websocket onMessage требуется, но значение не определено - PullRequest
0 голосов
/ 06 февраля 2020

Мне интересно, почему это происходит?

Неудачный тип проп: Проп onMessage помечен как обязательный в Websocket, но его значение равно undefined. в Websocket (созданный LobbyBase)

Это моя база лобби

import React from 'react';
import PropTypes from 'prop-types';
import ReactDOM from 'react-dom';
import Websocket from 'react-websocket'
import $ from 'jquery'

class LobbyBase extends React.Component {

    constructor(props) {
        super(props);
        this.state = {
            player_game_list: [],
            available_game_list: []
        }

        // bind button click
        //this.sendSocketMessage = this.sendSocketMessage.bind(this);
    }

    componentDidMount() {

    }

    componentWillUnmount() {
        this.serverRequest.abort();
    }

    handleData(data) {
        //receives messages from the connected websocket
        let result = JSON.parse(data)


        // we've received an updated list of available games
        this.setState({available_game_list: result})
    }

    sendSocketMessage(message){
        // sends message to channels back-end
       const socket = this.refs.socket
       socket.state.ws.send(JSON.stringify(message))
    }

    render() {
        return (

            <div className="row">
                <Websocket url={this.props.socket}
                    onMessage={this.handleData.bind(this)}
                    />
                <span>Lobby Components will go here....</span>
            </div>

        )
    }
}

LobbyBase.propTypes = {
    socket: PropTypes.string
};

export default LobbyBase;

И это мой URL (который находится в индексе)

var lobby_sock = 'ws://' + window.location.host + "/ws/lobby/"

У меня есть видел, как люди делают похожий код для объявления websocket. Любая помощь будет оценена!

РЕДАКТИРОВАТЬ: больше информации о данных дескриптора

 handleData(data) {
        //receives messages from the connected websocket
        let result = JSON.parse(data)


        // we've received an updated list of available games
        this.setState({available_game_list: result})
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...