我如何将反应上下文与反应导航一起使用

How do I use react context with react-navigation

我试图在安装所有应用程序时保持 socket.io 实例。

我正在使用 react-native、socket.io 和 react-navigation。

所以我需要对上下文做出反应,以将我的 socket.io 实例保留在所有子组件中。

请帮助我如何将反应上下文与反应导航一起使用,以及如何更新上下文。

就是这么简单,只需创建一个文件示例:ctx.js

然后在此文件中添加以下代码:

import React from 'react';
export const { Provider, Consumer } = React.createContext();

然后在你的根组件中导入 Provide 并把 Provider 作为根组件 如下所示:

 <Provider value={this.state}>
 </Provider>

然后在您要使用上下文的任何组件中,只需像下面这样导入 Consumer:

class A extends Component{
 ....
}
const AComponent = props => (
    <Consumer>
        {context => <A {...props} context={context} /> }
    </Consumer>
);