Мне интересно, почему это происходит?
Неудачный тип проп: Проп 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})
}