Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import React, {Component} from 'react';
- import socketIOClient from 'socket.io-client';
- class Personal extends Component {
- constructor(props) {
- super(props);
- this.state = {
- endpoint: 'http://127.0.0.1:3001',
- messages: [],
- ourMessage: ''
- };
- this.socket = socketIOClient(this.state.endpoint);
- this.onWrite = this.onWrite.bind(this);
- this.sendMessage = this.sendMessage.bind(this);
- }
- componentWillMount() {
- this.socket.on('server_message', data => {
- let messages = this.state.messages;
- messages.push(data);
- this.setState({messages: messages});
- });
- }
- componentWillUnmount() {
- this.socket.disconnect();
- }
- onWrite(e) {
- this.setState({ourMessage: e.target.value});
- }
- sendMessage(e) {
- e.preventDefault;
- this.socket.emit('client_message', this.state.ourMessage);
- this.setState({ourMessage: ''})
- }
- render() {
- const style = {'marginTop': '50px'};
- const messages = this.state.messages;
- return (
- <div style={style}>
- <div>
- <input type='text' onChange={this.onWrite} value={this.state.ourMessage}/>
- <input type='button' onClick={this.sendMessage} value='send'/>
- </div>
- Messages:
- {messages.map((value, index) => {
- return <div key={index}>{index}. {value}</div>;
- })}
- </div>
- );
- }
- }
- export default Personal;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement