Advertisement
Guest User

Veljko help!!

a guest
Oct 21st, 2019
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  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. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement