SHARE
TWEET

Veljko help!!

a guest Oct 21st, 2019 69 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /******************* Socket.js **********************
  2.  
  3. import React, { useState } from 'react';
  4. import { addAuction, canceledAuction, finishedAuction, setBid, AddNotice } from './socketEvents'
  5. import Context from '../utils/context'
  6. const baseUrl = 'http://173.249.57.17:3000'
  7. const socketIo = require("socket.io-client");
  8.  
  9. export default function Socket() {
  10.     return (
  11.         <Context.Consumer>
  12.             {context => {
  13.                 const { state, setState } = context;
  14.                 if (state.user) {
  15.                     if (state.webSocket == null) {
  16.                         try {
  17.                             const socket = socketIo(baseUrl);
  18.                             let ws = {}
  19.                             socket.on('connect', (data) => {
  20.                                 console.log(`starting socket...`);
  21.                                 setState({ ...state, 'webSocket': socket })
  22.                             })
  23.                             socket.on('event', (data) => {
  24.                                 console.log("receiving data...", data.event);
  25.                                 if (data.event == 'NoticeAdded') {
  26.                                     return(<AddNotice data={data}/>)
  27.                                 }
  28.                             });
  29.  
  30.                         } catch (err) {
  31.                         }
  32.                     }
  33.            
  34.                 }
  35.                
  36.             }
  37.             }
  38.         </Context.Consumer>
  39.     )
  40. }
  41.  
  42. /*********** funkcija iz SocketEvents.js
  43. export function AddNotice({data}) {
  44.     console.log('AddNotice',data);
  45.    
  46.     return(<Context.Consumer>
  47.         {
  48.             context=>{
  49.                 const { state, useState } = context
  50.                 console.log('AddNotice', data, state.theme);
  51.                 let { notices, user } = state
  52.                 if (data.user == user.id || data.user == null) {
  53.                     notices.unshift(data)
  54.                     setState({ ...state, notices: notices })
  55.                 }
  56.                 return(null)
  57.             }
  58.         }
  59.     </Context.Consumer>)
  60. }
  61.  
  62. /******** Deo iz app.js
  63.  
  64. return (
  65.             <Context.Provider
  66.                 value={{
  67.                     state,
  68.                     setState: (newState) => setState(newState)
  69.                 }}
  70.             >
  71.                 <View style={styles.containerApp} onTouchEnd={()=>{}}>
  72.                     {Platform.OS === 'ios' && <StatusBar barStyle="default" />}
  73.                     {/* <View style={styles.toolBar}/> */}
  74.                     <AppNavigator/>
  75.                     <Socket/>
  76.                 </View>
  77.             </ Context.Provider>
  78.        );
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top