Вот приложение App.js
React Native 0.59.
import React, {Component} from 'react';
import { createStackNavigator, createAppContainer } from 'react-navigation';
import Event from './src/components/event/Event.js';
import Chat from './src/components/chat/Chat.js';
import GLOBAL from "../../lib/global";
//socket.io
const socket = io(GLOBAL.BASE_URL, {
transports: ['websocket'],
jsonp: false
});
//create the navigator
const navigator = createStackNavigator(
{
Event: Event,
Chat: {
screen: Chat,
}
}, {
initialRouteName: "Event"
}
);
//export it as the root component
export default createAppContainer(navigator);
socket
необходимо передать в Chat
компонент.Поскольку существует только компонент Chat, использующий socket
, я хотел бы передать socket
в качестве реквизита вместо использования context
, который разделяет данные между многими компонентами.В идеале socket
можно передать в createStackNavigator
следующим образом:
const navigator = createStackNavigator(
{
Event: Event,
Chat: {
screen: Chat, params: {socket: this.socket}
}
}, {
initialRouteName: "Event"
}
);
Как это сделать с React Native 0.59
?