我正在尝试通过所有应用程序来保持socket.io实例。
我正在使用React-native,socket.io和React-Navigation。
所以我需要对上下文进行反应,以将我的socket.io实例保留在所有子组件中。
友好地帮助我如何使用React上下文与React Navigation,以及如何更新上下文。
非常简单,只需创建一个文件示例: ctx.js
然后在此文件中添加以下代码:
import React from 'react';
export const { Provider, Consumer } = React.createContext();
然后在您的根组件中导入并将Provider
作为根组件如下:
<Provider value={this.state}>
</Provider>
然后,在任何组件中,您都将使用上下文,只需以下面的方式导入消费者:
class A extends Component{
....
}
const AComponent = props => (
<Consumer>
{context => <A {...props} context={context} /> }
</Consumer>
);