Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /******************* Socket.js **********************
- import React, { useState } from 'react';
- import { addAuction, canceledAuction, finishedAuction, setBid, AddNotice } from './socketEvents'
- import Context from '../utils/context'
- const baseUrl = 'http://173.249.57.17:3000'
- const socketIo = require("socket.io-client");
- export default function Socket() {
- return (
- <Context.Consumer>
- {context => {
- const { state, setState } = context;
- if (state.user) {
- if (state.webSocket == null) {
- try {
- const socket = socketIo(baseUrl);
- let ws = {}
- socket.on('connect', (data) => {
- console.log(`starting socket...`);
- setState({ ...state, 'webSocket': socket })
- })
- socket.on('event', (data) => {
- console.log("receiving data...", data.event);
- if (data.event == 'NoticeAdded') {
- return(<AddNotice data={data}/>)
- }
- });
- } catch (err) {
- }
- }
- }
- }
- }
- </Context.Consumer>
- )
- }
- /*********** funkcija iz SocketEvents.js
- export function AddNotice({data}) {
- console.log('AddNotice',data);
- return(<Context.Consumer>
- {
- context=>{
- const { state, useState } = context
- console.log('AddNotice', data, state.theme);
- let { notices, user } = state
- if (data.user == user.id || data.user == null) {
- notices.unshift(data)
- setState({ ...state, notices: notices })
- }
- return(null)
- }
- }
- </Context.Consumer>)
- }
- /******** Deo iz app.js
- return (
- <Context.Provider
- value={{
- state,
- setState: (newState) => setState(newState)
- }}
- >
- <View style={styles.containerApp} onTouchEnd={()=>{}}>
- {Platform.OS === 'ios' && <StatusBar barStyle="default" />}
- {/* <View style={styles.toolBar}/> */}
- <AppNavigator/>
- <Socket/>
- </View>
- </ Context.Provider>
- );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement